Re: Tutorial About
Hi Jorge, On Fri, Feb 15, 2013 at 04:56:57PM -0600, jorge ivan poot diaz wrote: Hello Ariel, Yet I can not update from basis3.4 to basis4. I want to know the steps to do this. Please explain me step by step, that I understand. Why instead of have basis4 I have basis3.4? Did you update the source tree? Did you rebuild it? Try again with svn info and svn status. cd ROOT_SOURCE svn status If some files are marked with M, they have been modified by you, you might want to revert the changes. To update: svn update or the short form svn up Path:. URL: https://svn.apache.org/repos/asf/openoffice/trunk Repository Root: https://svn.apache.org/repos/asf Repository UUID: 13f79535-47bb-0310-9956-ffa450edef68 Revision: 1440197 Node type: directory Scheduled: normal Author of last change: alg Review of last change: 1439888 Date of last change: 01/29/2013 7:32:36 -0600 (Tue 29 Jan 2013) As you see, the last change is too old. If you update right now, you should be in revision 1446596. Once svn info tells you your source tree is up-to-date, you need to rebuild the whole source tree. Please refer to the Building guide: http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#Building Your source tree was rather old, it would be better to start a new clean build. First, remove all the old output tree: cd trunk/main source LinuxX86-64Env.Set.sh dmake clean Open a new terminal, and proceed as you did the first time you built: autoconf ./configure options ./bootsrap source LinuxX86-64Env.Set.sh cd main/instsetoo_native build --html --all If you have a multi-core computer, try the -P switch (For example, I use build --html --all -P8 -- -P4 and it builds in ca. 1:15 hrs with only en-US). Recall that we have chat channels, where communication is faster than via mail: irc://irc.freenode.net/dev.openoffice.org Regards -- Ariel Constenla-Haile La Plata, Argentina pgpnWymSVWma3.pgp Description: PGP signature
Re: Tutorial About
Hello Ariel, I have many questions about what I'm doing, After making the necessary modifications to the tutorial says, I have to compile. The compilation succeeds. Now my questions are: How I can see the changes made? What is the folder where I have to run to open sw and see the changes? The tutorial is this: http://wiki.openoffice.org/wiki/Tutorial_About 2013/2/15 Ariel Constenla-Haile arie...@apache.org Hi Jorge, On Fri, Feb 15, 2013 at 04:56:57PM -0600, jorge ivan poot diaz wrote: Hello Ariel, Yet I can not update from basis3.4 to basis4. I want to know the steps to do this. Please explain me step by step, that I understand. Why instead of have basis4 I have basis3.4? Did you update the source tree? Did you rebuild it? Try again with svn info and svn status. cd ROOT_SOURCE svn status If some files are marked with M, they have been modified by you, you might want to revert the changes. To update: svn update or the short form svn up Path:. URL: https://svn.apache.org/repos/asf/openoffice/trunk Repository Root: https://svn.apache.org/repos/asf Repository UUID: 13f79535-47bb-0310-9956-ffa450edef68 Revision: 1440197 Node type: directory Scheduled: normal Author of last change: alg Review of last change: 1439888 Date of last change: 01/29/2013 7:32:36 -0600 (Tue 29 Jan 2013) As you see, the last change is too old. If you update right now, you should be in revision 1446596. Once svn info tells you your source tree is up-to-date, you need to rebuild the whole source tree. Please refer to the Building guide: http://wiki.openoffice.org/wiki/Documentation/Building_Guide_AOO#Building Your source tree was rather old, it would be better to start a new clean build. First, remove all the old output tree: cd trunk/main source LinuxX86-64Env.Set.sh dmake clean Open a new terminal, and proceed as you did the first time you built: autoconf ./configure options ./bootsrap source LinuxX86-64Env.Set.sh cd main/instsetoo_native build --html --all If you have a multi-core computer, try the -P switch (For example, I use build --html --all -P8 -- -P4 and it builds in ca. 1:15 hrs with only en-US). Recall that we have chat channels, where communication is faster than via mail: irc://irc.freenode.net/dev.openoffice.org Regards -- Ariel Constenla-Haile La Plata, Argentina
Re: Tutorial About
On 2013/02/14 2:27 AM, jorge ivan poot diaz wrote: How I can do a debug mode? Where I can find more information about the debug mode? http://wiki.openoffice.org/wiki/Non_Product_Build is a good start for the debug mode of AOO. Also http://wiki.openoffice.org/wiki/Debugging is a good start for debugging AOO using gdb. Herbert
Re: Tutorial About
Hello Ariel, How I can update 3.5 to 4.0? I would like to know step by step how to do this. Help me. 2013/2/14 Herbert Dürr h...@apache.org On 2013/02/14 2:27 AM, jorge ivan poot diaz wrote: How I can do a debug mode? Where I can find more information about the debug mode? http://wiki.openoffice.org/**wiki/Non_Product_Buildhttp://wiki.openoffice.org/wiki/Non_Product_Build is a good start for the debug mode of AOO. Also http://wiki.openoffice.org/**wiki/Debugginghttp://wiki.openoffice.org/wiki/Debugging is a good start for debugging AOO using gdb. Herbert
Re: Tutorial About
On Thu, Feb 14, 2013 at 09:05:55PM -0600, jorge ivan poot diaz wrote: Hello Ariel, How I can update 3.5 to 4.0? are you using subversion? What's the output of cd SRC_ROOT svn info Regards -- Ariel Constenla-Haile La Plata, Argentina pgp19b4POJgLl.pgp Description: PGP signature
Re: Tutorial About
I have this subversion: svn co https://svn.apache.org/repos/asf/openoffice/trunk My question again, is how I can update basis3.4. to basis4? Explain me step by step please. 2013/2/14 Ariel Constenla-Haile arie...@apache.org On Thu, Feb 14, 2013 at 09:05:55PM -0600, jorge ivan poot diaz wrote: Hello Ariel, How I can update 3.5 to 4.0? are you using subversion? What's the output of cd SRC_ROOT svn info Regards -- Ariel Constenla-Haile La Plata, Argentina
Re: Tutorial About
Hi Jorge, On Thu, Feb 14, 2013 at 11:43:34PM -0600, jorge ivan poot diaz wrote: I have this subversion: svn co https://svn.apache.org/repos/asf/openoffice/trunk then you need to update the source tree: svn up There are several subversion tutorial on the web. Regards -- Ariel Constenla-Haile La Plata, Argentina pgpen7MBfCwKk.pgp Description: PGP signature
Re: Tutorial About
Hello Ariel, output of cd SRC_ROOT svn info Path:. URL: https://svn.apache.org/repos/asf/openoffice/trunk Repository Root: https://svn.apache.org/repos/asf Repository UUID: 13f79535-47bb-0310-9956-ffa450edef68 Revision: 1440197 Node type: directory Scheduled: normal Author of last change: alg Review of last change: 1439888 Date of last change: 01/29/2013 7:32:36 -0600 (Tue 29 Jan 2013) 2013/2/14 jorge ivan poot diaz ivan.pootd...@gmail.com I have this subversion: svn co https://svn.apache.org/repos/asf/openoffice/trunk My question again, is how I can update basis3.4. to basis4? Explain me step by step please. 2013/2/14 Ariel Constenla-Haile arie...@apache.org On Thu, Feb 14, 2013 at 09:05:55PM -0600, jorge ivan poot diaz wrote: Hello Ariel, How I can update 3.5 to 4.0? are you using subversion? What's the output of cd SRC_ROOT svn info Regards -- Ariel Constenla-Haile La Plata, Argentina
Re: Tutorial About
Hi Jorge, On Wed, Feb 13, 2013 at 07:27:05PM -0600, jorge ivan poot diaz wrote: Hello Ariel, I did the steps you said, the compilation was successful, I made two copies too. Now when I click the button about not the message. And another point the basis that I have is the basis3.4. Are you building with sources checked out using subversion/git-svn? If so, you need to update your working copy, revision 1442743 updated the version number from 3.5 to 4.0 (quite strange you have 3.4). Configure with --with-package-format=installed It will generate an installation in main/instsetoo_native/unxlngx6/Apache_OpenOffice/installed/install/en-US/ Copy the two directories there to your $HOME This in-build installation uses its own user profile, you can play with it without overwriting any existing configuration. You can also customize the user directory by modifying $HOME/apache_openoffice4/program/bootstraprc, the line UserInstallation=$ORIGIN/../.apacheopenoffice/4 Instead unxlngx6 I have a unxlngi6.pro .pro means a product build. You can build a non-product build, see http://wiki.openoffice.org/wiki/Non_Product_Build Configure with --enable-dbgutil How I can do a debug mode? Usually you build the modules you are interested in with debug switch. If the module is ported to gbuild (you know this because in the module folder there is a Module_module.mk, like framework/Module_framework.mk): touch the files you want tor recompile with debugging symbols, or simply clean the whole module: cd main/framework touch some_file or make -sr DEBUG=yes clean then build with debug: make -sr DEBUG=yes You'll find the framework libraries in main/solver/400/unxlngx6/workdir/LinkTarget/Library/lifw*.so Copy the library to $HOME/apacheopenoffice/basis4.0/program/ If the module is not ported to gbuild the output is in the same folder, and then copied to the solver: cd cui rm -rf unxlngx6/ build debug=true dbglevel=3 -- -P2 deliver The libraries are in main/module/unxlngx6/lib/. Note that you need to configure with --disable-strip-solver because, if not, the libraries are stripped before delivering them to the solver. Once you have compiled with debug, launch OpenOffice and attach the debugger, a way of doing this: in on terminal $HOME/apache_openoffice/program/soffice in another terminal gdb attach `pgrep soffice.bin` Set a break point, and continue, for example: break AboutDialog::AboutDialog c Where I can find more information about the debug mode? I'm not sure if there is something in the wiki. Where there is more current tutorials that this tutorial about? AFAIK there are no up-to-date development tutorials. I guess developers don't like writing documentation, it would imply maintaining the source code and the tutorial as the source code gets modified... Where I can find more tutorials updated to make them? May be it's better to pick up an easy bug, and try to fix it. Now that you've been in the cui module, take for example https://issues.apache.org/ooo/show_bug.cgi?id=121706 This is my tutorial to get started with this bug (you may find the tips useful for other cases): - Open a new Writer document - select the menu Format - AutoCorrect - AutoCorrect Options... - select the tab Word Completion The bug is about the number of max. entries, the last metric field in that tab page. We are going to find where that metric field is defined. For this, let's search for the whole tab page definition, using one of the strings. To start investigating, search in opengrok for a string (you must have the user interface in English, so that you see English strings in order to find them in .src files). For example, Enable word ~completion (the string ~Max. entries might be not quite unique). http://opengrok.adfinis-sygroup.org/source/search?q=%22Enable+word+~completion%22defs=refs=path=hist=project=aoo-trunk With the AboutDialog example, you have learnt that the dialog structure is defined in a *.src file, so dismiss all the results, looking only for a file with extension src http://opengrok.adfinis-sygroup.org/source/search?q=%22Enable+word+~completion%22defs=refs=path=srchist=project=aoo-trunk /aoo-trunk/main/cui/source/tabpages/ H A D autocdlg.src709 Text [ en-US ] = Enable word ~completion; Now you know that trunk/main/cui/source/tabpages/autocdlg.src is your starting point. TabDialog RID_OFA_AUTOCORR_DLG defines the structure of the whole tab dialog. PageItem RID_OFAPAGE_AUTOCOMPLETE_OPTIONS is the AutoCorrect tab page. Dialogs and controls are identified by its IDs, so look for RID_OFAPAGE_AUTOCOMPLETE_OPTIONS in trunk/main/cui/source/tabpages/autocdlg.src and you'll find the tab page definition: TabPage RID_OFAPAGE_AUTOCOMPLETE_OPTIONS In the tab page definition, look for the metric field control: NumericField NF_MAX_ENTRIES The name of the ID suggests this is the control to investigate. In fact, it has the values: 795 Value = 500 ; 796 Maximum = 1
Re: Tutorial About
Hello Ariel, I did the patch you told me, but I have not results. I would like to know what would be the equivalent of a code tutorial about for this new source code to generate the button. 2013/2/12 Ariel Constenla-Haile arie...@apache.org Hi Jorge, On Tue, Feb 12, 2013 at 12:06:12AM -0600, jorge ivan poot diaz wrote: Here is the changes I made, I declare the button according to the tutorial, but I have not the expected results. http://ooo.pastebin.ca/2313036 http://ooo.pastebin.ca/2313037 The changes I have done well, as each code I put it where it belongs. But it's not simply putting code. You need to compile the code, and you''ll the errors: main/cui/source/dialogs/about.cxx: In constructor 'AboutDialog::AboutDialog(Window*, const ResId)': main/cui/source/dialogs/about.cxx:285:33: error: 'ABOUT_BTN_OK' was not declared in this scope main/cui/source/dialogs/about.cxx: In member function 'void AboutDialog::LayoutControls(Size)': main/cui/source/dialogs/about.cxx:446:30: error: 'aOutSiz' was not declared in this scope The errors speak for themselves: aOKSureButton( this, ResId( ABOUT_BTN_OK, *rId.GetResMgr() ) ), here, ABOUT_BTN_OK is not defined. In the new code, the define is RID_CUI_ABOUT_BTN_OK aOKSurePnt.X() = 135 + ( aOutSiz.Width() - aOKSureSiz.Width() ) / 2; there is no variable named aOutSiz in the current code. Besides, this hard coded layout won't work with the new code (all the layout is calculated relative to the two pictures, the logo (the orb) on the left and the header on the top. Regards -- Ariel Constenla-Haile La Plata, Argentina
Re: Tutorial About
Hi Jorge, On Tue, Feb 12, 2013 at 08:06:11PM -0600, jorge ivan poot diaz wrote: Hello Ariel, I did the patch you told me, but I have not results. Did you build it? Did it compile without errors? Did you copy the library with the modifications back in your installation? (you need to copy both the library and binary resource file). I would like to know what would be the equivalent of a code tutorial about for this new source code to generate the button. That tutorial doesn't explain much... if you've followed the steps in my previous mail (the one with the patch), you should be able to make it work. I repeat the steps: The sources are at: cui/source/inc/about.hxx - header cui/source/dialogs/about.cxx - source file cui/source/dialogs/about.hrc - IDs defines cui/source/dialogs/about.src - dialog structure definition Apply the attached patch, build, deliver, and copy the library in your office installation: Open a terminal, cd where you have the trunk source tree ]$ cd SRC_ROOT Apply the patch ]$ cat PATH_TO_PATH | patch -p1 cd the cui directory ]$ cd main/cui rebuild that directory and deliver ]$ build debug=true dbglevel=3 deliver copy the library ]$ cp -fv unxlngx6/lib/libcui.so BASIS_DIR/basis4.0/program/libcui.so copy the resource file ]$ cp -fv unxlngx6/bin/cui*.res BASIS_DIR/basis4.0/program/resource/ It seems I didn't give the last step in my previous mail. The resource files, the ones with the *.src extension, are compiled into a binary file that usually has the module name+language.res, for example cuien-US.res cuies.res cuide.res The languages dependen on the --with-lang=lang1 lang2 switch. They are located in unxlngx6/bin. When you modify a resource file, copy the re compiled binary back in your installation. As you are doing small changes, copying the recompiled files is easier that rebuilding the whole source try. Regards -- Ariel Constenla-Haile La Plata, Argentina pgpTU2QtUrZyH.pgp Description: PGP signature
Re: Tutorial About
Hello Jorge, On Mon, Feb 11, 2013 at 07:31:15PM -0600, jorge ivan poot diaz wrote: Hello, I've done the tutorial about but the expected result was not successful, here is the link: http://wiki.openoffice.org/wiki/Tutorial_About Those tutorials are rather old, the code has changes in between. I've noticed that the source code has changed for example: cui/source/inc/about.hxx + OKButtonaOKSureButton; (tutorial) + OKButtonmaOKButton; (source code) I understand that the source code has been modified but I want to know why I have added the code does not work, does not generate the button. If the button OKButton if successfully generated. Please I want to know the reason why I can not generate the button. I have no idea what you have done. Can you generate a patch with your changes? Another important point of the code cui / source / dialogs / about.cxx gives me the impression that has changed because the code shown before the structure is completely different this is It has obviously changed since 2007, http://svn.apache.org/viewvc/openoffice/trunk/main/cui/source/dialogs/about.cxx?view=log // OK-Button-Position (at the bottom and centered) ups, it's not centered, but positioned on the left! Size aOKSiz = maOKButton.GetSizePixel(); Point aOKPnt( ( aDlgSize.Width() - aOKSiz.Width() ) - a6Size.Width(), nY ); maOKButton.SetPosPixel( aOKPnt ); How I can implement the tutorial about in the source code to generate the button? What would be the changes I should make to the source code? Help me. The sources are at: cui/source/inc/about.hxx - header cui/source/dialogs/about.cxx - source file cui/source/dialogs/about.hrc - IDs defines cui/source/dialogs/about.src - dialog structure definition Apply the attached patch, build, deliver, and copy the library in your office installation: ]$ cd SRC_ROOT/main/cui ]$ cat PATH_TO_PATH | patch -p1 ]$ build debug=true dbglevel=3 deliver ]$ cp -fv unxlngx6/lib/libcui.so BASIS_DIR/basis4.0/program/libcui.so Once you get a general idea of how it works, try changing something else: modify the button type, make it a simple push button, and add a call back so that when it is pressed you show a Hello world! message box. Regards -- Ariel Constenla-Haile La Plata, Argentina diff --git a/main/cui/source/dialogs/about.cxx b/main/cui/source/dialogs/about.cxx index b753a3f..4ef4e81 100644 --- a/main/cui/source/dialogs/about.cxx +++ b/main/cui/source/dialogs/about.cxx @@ -282,6 +282,7 @@ namespace AboutDialog::AboutDialog( Window* pParent, const ResId rId ) : SfxModalDialog( pParent, rId ), maOKButton( this, ResId( RID_CUI_ABOUT_BTN_OK, *rId.GetResMgr() ) ), +maOKButtonCenter( this, ResId( RID_CUI_ABOUT_BTN_OK, *rId.GetResMgr() ) ), maReadmeButton( this, ResId( RID_CUI_ABOUT_BTN_README, *rId.GetResMgr() ) ), maVersionText( this, ResId( RID_CUI_ABOUT_FTXT_VERSION, *rId.GetResMgr() ) ), maBuildInfoEdit( this, ResId( RID_CUI_ABOUT_FTXT_BUILDDATA, *rId.GetResMgr() ) ), @@ -434,11 +435,14 @@ void AboutDialog::LayoutControls( Size aDlgSize ) maMainLogoPos = Point( 0, nY / 2 - aMainLogoSz.Height() / 2 ); maAppLogoPos = Point( nCol1 + a6Size.Width(), 0 ); -// OK-Button-Position (at the bottom and centered) +// OK-Button-Position (at the bottom and right) Size aOKSiz = maOKButton.GetSizePixel(); Point aOKPnt( ( aDlgSize.Width() - aOKSiz.Width() ) - a6Size.Width(), nY ); maOKButton.SetPosPixel( aOKPnt ); +// center the button in the middle +maOKButtonCenter.SetPosPixel( Point( aDlgSize.Width() / 2 - maOKButtonCenter.GetSizePixel().Width() / 2, nY ) ); + maReadmeButton.SetPosPixel( Point(a6Size.Width(), nY) ); aDlgSize.Height() = aOKPnt.Y() + aOKSiz.Height() + a6Size.Width(); diff --git a/main/cui/source/inc/about.hxx b/main/cui/source/inc/about.hxx index 552086d..0fbb63b 100644 --- a/main/cui/source/inc/about.hxx +++ b/main/cui/source/inc/about.hxx @@ -38,6 +38,7 @@ class AboutDialog : public SfxModalDialog { private: OKButtonmaOKButton; +OKButtonmaOKButtonCenter; PushButton maReadmeButton; FixedInfo maVersionText; MultiLineEdit maBuildInfoEdit; pgpH2wSOqyMKt.pgp Description: PGP signature
Re: Tutorial About
I understand the changes but that should not impede the buttons may not work as I applied the instructions in the required classes. So why not work? 2013/2/11 Ariel Constenla-Haile arie...@apache.org On Mon, Feb 11, 2013 at 11:26:22PM -0300, Ariel Constenla-Haile wrote: ]$ cd SRC_ROOT/main/cui ]$ cat PATH_TO_PATH | patch -p1 if you are in main/cui it should be -p3 instead of -p1 ]$ build debug=true dbglevel=3 deliver ]$ cp -fv unxlngx6/lib/libcui.so BASIS_DIR/basis4.0/program/libcui.so -- Ariel Constenla-Haile La Plata, Argentina
Re: Tutorial About
On Mon, Feb 11, 2013 at 09:00:55PM -0600, jorge ivan poot diaz wrote: I understand the changes but that should not impede the buttons may not work as I applied the instructions in the required classes. So why not work? I can't guess without seeing what you've done. Please attach a patch with your changes (the changes as they are in the Wiki won't even compile). -- Ariel Constenla-Haile La Plata, Argentina pgpw4tDBUl5qz.pgp Description: PGP signature
Re: Tutorial About
Here is the changes I made, I declare the button according to the tutorial, but I have not the expected results. http://ooo.pastebin.ca/2313036 http://ooo.pastebin.ca/2313037 The changes I have done well, as each code I put it where it belongs. 2013/2/11 jorge ivan poot diaz ivan.pootd...@gmail.com I understand the changes but that should not impede the buttons may not work as I applied the instructions in the required classes. So why not work? 2013/2/11 Ariel Constenla-Haile arie...@apache.org On Mon, Feb 11, 2013 at 11:26:22PM -0300, Ariel Constenla-Haile wrote: ]$ cd SRC_ROOT/main/cui ]$ cat PATH_TO_PATH | patch -p1 if you are in main/cui it should be -p3 instead of -p1 ]$ build debug=true dbglevel=3 deliver ]$ cp -fv unxlngx6/lib/libcui.so BASIS_DIR/basis4.0/program/libcui.so -- Ariel Constenla-Haile La Plata, Argentina
Re: Tutorial About
Here are the patch. 2013/2/12 jorge ivan poot diaz ivan.pootd...@gmail.com Here is the changes I made, I declare the button according to the tutorial , but I have not the expected results. http://ooo.pastebin.ca/2313036 http://ooo.pastebin.ca/2313037 The changes I have done well, as each code I put it where it belongs. 2013/2/11 jorge ivan poot diaz ivan.pootd...@gmail.com I understand the changes but that should not impede the buttons may not work as I applied the instructions in the required classes. So why not work? 2013/2/11 Ariel Constenla-Haile arie...@apache.org On Mon, Feb 11, 2013 at 11:26:22PM -0300, Ariel Constenla-Haile wrote: ]$ cd SRC_ROOT/main/cui ]$ cat PATH_TO_PATH | patch -p1 if you are in main/cui it should be -p3 instead of -p1 ]$ build debug=true dbglevel=3 deliver ]$ cp -fv unxlngx6/lib/libcui.so BASIS_DIR/basis4.0/program/libcui.so -- Ariel Constenla-Haile La Plata, Argentina
Re: Tutorial About
Hi Jorge, On Tue, Feb 12, 2013 at 12:06:12AM -0600, jorge ivan poot diaz wrote: Here is the changes I made, I declare the button according to the tutorial, but I have not the expected results. http://ooo.pastebin.ca/2313036 http://ooo.pastebin.ca/2313037 The changes I have done well, as each code I put it where it belongs. But it's not simply putting code. You need to compile the code, and you''ll the errors: main/cui/source/dialogs/about.cxx: In constructor 'AboutDialog::AboutDialog(Window*, const ResId)': main/cui/source/dialogs/about.cxx:285:33: error: 'ABOUT_BTN_OK' was not declared in this scope main/cui/source/dialogs/about.cxx: In member function 'void AboutDialog::LayoutControls(Size)': main/cui/source/dialogs/about.cxx:446:30: error: 'aOutSiz' was not declared in this scope The errors speak for themselves: aOKSureButton( this, ResId( ABOUT_BTN_OK, *rId.GetResMgr() ) ), here, ABOUT_BTN_OK is not defined. In the new code, the define is RID_CUI_ABOUT_BTN_OK aOKSurePnt.X() = 135 + ( aOutSiz.Width() - aOKSureSiz.Width() ) / 2; there is no variable named aOutSiz in the current code. Besides, this hard coded layout won't work with the new code (all the layout is calculated relative to the two pictures, the logo (the orb) on the left and the header on the top. Regards -- Ariel Constenla-Haile La Plata, Argentina pgp8RH8eudWBc.pgp Description: PGP signature