Sort of intended for Madou, but anyone interested is welcome to join in and help with the ooDialog doc.
Madou, if you are interested in trying something a little more challenging, and maybe more interesting, I though I'd explain how you can find the documentation for most things that are currently not written. Remember you can always get the most recent build of oodialog.pdf from the build machine. Go to: http://build.oorexx.org/builds/docs/ Look for the directory with the highest number, say it is 6673. In that directory grab the oodialog.pdf. If there is no oodialog.pdf then look in the previous highest numbered directory. If you look in oodialog.pdf at the chapter on Menus and go to: Menus -> The Menu Object -> isPopup (25.3.8. isPopup) you will see it says: Arguments: xx TERM xx So, the documentation for this method has not been written for oodialog.pdf. There is just a template in menus.xml for this entry. But, I have written the documentation. It is in the C++ code in comments. All that needs to be done is to fill in the template with the text from the C++ code file. This is really not very hard to do, once you do a couple. To start you need to use SVN to grab the source code for ooDialog. This is the same process as you use for the doc book source code. Pick a spot to put it on your system and then use this URL to just get the ooDialog source: https://oorexx.svn.sourceforge.net/svnroot/oorexx/main/trunk/extensions/platform/windows/oodialog For any class in ooDialog we'll have 2 files. The Rexx code file and the C++ implementation file. For the Menu classes we have Menu.cls for the Rexx code and oodMenus.cpp for the implementation code. 1.) First look in Menu.cls for the isPopup method. You will see this line: ::method isPopup external "LIBRARY oodialog menu_isPopup" That essentially says the isPopup method is implemented externally in the menu_isPopup function. You might not know where the menu_isPopup function is, but all externally named functions in Menu.cls are in oodMenu.cpp. 2.) Look in oodMenu.cpp for menu_isPopup. You will find it in only 1 line that looks like this: RexxMethod3(logical_t, menu_isPopup, RexxObjectPtr, rxItemID, OPTIONAL_logical_t, byPosition, CSELF, cMenuPtr) 3.) Don't be intimidated if you don't understand C++ code. C++ uses /* */ for comments just like Rexx does, so the C++ comments will look familiar. 4.) You will see that the code around that one line looks like this: (Hopefully it doesn't wrap in your e-mail client. If it does, look at the actual code in oodMenu.cpp.) /** Menu::isPopup() * * Determines if the specified menu item is a submenu. * * @param rxItemID The item ID to query. This can be a position ID or a * resource ID, depending on the value of byPosition. * * @param byPosition [optional] If true, rxItemID is a positional ID, * otherwise it is a resource ID. The default is false. * * @return True if the item is is a submenu, otherwise false. * * @note Sets .SystemErrorCode on error and also raises a syntax error, since * there is no way to indicate failure in the return. * * The isValidItemID() can be used to check if the item id is valid prior * to invoking this method or the condition could be trapped. If the * condition is trapped or if isValidItemID() returns false, the * .SystemErrorCode can then be examined for the reason why the item ID * is not valid. */ RexxMethod3(logical_t, menu_isPopup, RexxObjectPtr, rxItemID, OPTIONAL_logical_t, byPosition, CSELF, cMenuPtr) { CppMenu *cMenu = (CppMenu *)cMenuPtr; cMenu->setContext(context, TheFalseObj); return isType(cMenu, rxItemID, byPosition, 1, MF_POPUP); } 5.) The area in the comments is the documentation for the isPopup() method of the .Menu class. 6.) Now it is just a matter of recognizing what the codes mean and transferring the text to menu.xml. @param means an argument to the method. The arguments are listed in the correct order. I usually indicate which arguments are optional using the [optional] in the text, and by naming the default. @return is the return value The text at the top, in this case: Determines if the specified menu item is a submenu. Is the short description of what the method does. @note Is what should go in the "Remarks:" section in oodialog.pdf. And in this case the "Sets .SystemErrorCode on error and also raises a syntax error," is the stuff I've been putting in the "Details:" section in the doc. Most of the doc that needs to be transferred is in these chapters: Menus, MonthCalendar Controls, DateTimePicker Controls, and UpDown Controls. As I said, a little more challenging, but probably more interesting. If you want to give it a try and have any questions then just ask. What I'm going to do is finish out the isPopup section in the doc now since I'm there. I'll commit that and you can see what I did by getting the oodialog.pdf build tonight. (I think the builds are done around 1:00 am Central Time in the U.S.A, so it will be tomorrow for many people.) -- Mark Miesfeld ------------------------------------------------------------------------------ Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)! Finally, a world-class log management solution at an even better price-free! Download using promo code Free_Logger_4_Dev2Dev. Offer expires February 28th, so secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsight-sfd2d _______________________________________________ Oorexx-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/oorexx-users
