From: <mie...@us...> - 2009-01-01 07:38:05
|
Revision: 3839 http://oorexx.svn.sourceforge.net/oorexx/?rev=3839&view=rev Author: miesfeld Date: 2009-01-01 07:38:02 +0000 (Thu, 01 Jan 2009) Log Message: ----------- Clean up the code related to using an application icon. Don't use the same IDs as already assigned to common resources (IDOK, IDCANCEL, etc.) Modified Paths: -------------- main/trunk/extensions/platform/windows/oodialog/dlgext.cls main/trunk/extensions/platform/windows/oodialog/dyndlg.cls main/trunk/extensions/platform/windows/oodialog/oodResources.h main/trunk/extensions/platform/windows/oodialog/oovutil.cpp main/trunk/extensions/platform/windows/oodialog/plbdlg.cls main/trunk/extensions/platform/windows/oodialog/resdlg.cls Modified: main/trunk/extensions/platform/windows/oodialog/dlgext.cls =================================================================== --- main/trunk/extensions/platform/windows/oodialog/dlgext.cls 2009-01-01 06:06:17 UTC (rev 3838) +++ main/trunk/extensions/platform/windows/oodialog/dlgext.cls 2009-01-01 07:38:02 UTC (rev 3839) @@ -49,7 +49,7 @@ /* dispatch of messages */ ::method ExecuteAsync unguarded - use arg sleeptime, sh, icon, nomodal + use arg sleeptime, sh, icon = 0, nomodal if sleeptime~Datatype('N') = 0 then sleeptime = 10 if Arg(2,'o') = 1 then sh = "DEFAULT" if Arg(4,'o') = 1 then nomodal = 0 @@ -101,7 +101,7 @@ /* Run a nonmodal dialog */ ::method Popup - use arg sh, sleeptime, icon + use arg sh, sleeptime, icon = 0 if Arg(1,'o') = 1 then sh = "DEFAULT" if sleeptime~Datatype('N') = 0 then sleeptime = 10 /* start Execute and return to caller */ @@ -109,7 +109,7 @@ ::method PopupAsChild - use arg parent, sh, sleeptime, icon + use arg parent, sh, sleeptime, icon = 0 if Arg(1,'o') = 1 | parent = 0 then do call ErrorMessage "No parent dialog specified!" Modified: main/trunk/extensions/platform/windows/oodialog/dyndlg.cls =================================================================== --- main/trunk/extensions/platform/windows/oodialog/dyndlg.cls 2009-01-01 06:06:17 UTC (rev 3838) +++ main/trunk/extensions/platform/windows/oodialog/dyndlg.cls 2009-01-01 07:38:02 UTC (rev 3839) @@ -1073,9 +1073,7 @@ use arg icon = 0, modal = 0 if self~BasePtr = 0 then return 0 - if \ icon~DataType("W") then icon = self~ResolveSymbolicId(icon) - if icon < 0 then icon = 0 - + icon = self~resolveIconID(icon) if modal <> 0 & modal <> 1 then do if modal~translate = "NOTMODAL" then modal = 1 else modal = 0 Modified: main/trunk/extensions/platform/windows/oodialog/oodResources.h =================================================================== --- main/trunk/extensions/platform/windows/oodialog/oodResources.h 2009-01-01 06:06:17 UTC (rev 3838) +++ main/trunk/extensions/platform/windows/oodialog/oodResources.h 2009-01-01 07:38:02 UTC (rev 3839) @@ -40,10 +40,11 @@ * IDs here, it would be nice to sync up the PlainBaseDialog. */ -#define IDI_DLG_OODIALOG 1 -#define IDI_DLG_APPICON 2 -#define IDI_DLG_APPICON2 3 -#define IDI_DLG_OOREXX 4 +#define IDI_DLG_OODIALOG 11 +#define IDI_DLG_APPICON 12 +#define IDI_DLG_APPICON2 13 +#define IDI_DLG_OOREXX 14 #define IDI_DLG_DEFAULT IDI_DLG_APPICON2 +#define IDI_DLG_MIN_ID IDI_DLG_OODIALOG #define IDI_DLG_MAX_ID IDI_DLG_OOREXX Modified: main/trunk/extensions/platform/windows/oodialog/oovutil.cpp =================================================================== --- main/trunk/extensions/platform/windows/oodialog/oovutil.cpp 2009-01-01 06:06:17 UTC (rev 3838) +++ main/trunk/extensions/platform/windows/oodialog/oovutil.cpp 2009-01-01 07:38:02 UTC (rev 3839) @@ -815,7 +815,7 @@ } /* If one of the reserved IDs, iconSrc has to be ooDialog. */ - if ( id <= IDI_DLG_MAX_ID ) + if ( id >= IDI_DLG_MIN_ID && id <= IDI_DLG_MAX_ID ) { iconSrc = ICON_OODIALOG; } Modified: main/trunk/extensions/platform/windows/oodialog/plbdlg.cls =================================================================== --- main/trunk/extensions/platform/windows/oodialog/plbdlg.cls 2009-01-01 06:06:17 UTC (rev 3838) +++ main/trunk/extensions/platform/windows/oodialog/plbdlg.cls 2009-01-01 07:38:02 UTC (rev 3839) @@ -295,6 +295,14 @@ end return -1 +::method resolveIconID private + use strict arg icon + + if \ icon~Datatype('W') then icon = self~ResolveSymbolicId(icon) + if icon = -1 then icon = 0 + else if icon >= 1, icon <= 4 then icon += 10 + return icon + ::method resolveResourceID unguarded use strict arg id if id~datatype("W"), id > -1 then return id @@ -392,11 +400,11 @@ self~ConstDir["IDC_STATIC"] = -1 -- ooDialog supplied resources, defined in oodResources.h - self~ConstDir["IDI_DLG_OODIALOG"] = 1 - self~ConstDir["IDI_DLG_APPICON"] = 2 - self~ConstDir["IDI_DLG_APPICON2"] = 3 - self~ConstDir["IDI_DLG_OOREXX"] = 4 - self~ConstDir["IDI_DLG_DEFAULT"] = 2 + self~ConstDir["IDI_DLG_OODIALOG"] = 11 + self~ConstDir["IDI_DLG_APPICON"] = 12 + self~ConstDir["IDI_DLG_APPICON2"] = 13 + self~ConstDir["IDI_DLG_OOREXX"] = 14 + self~ConstDir["IDI_DLG_DEFAULT"] = 12 if arg(4, 'E') then self~ParseIncludeFile(includeFile) @@ -432,9 +440,8 @@ ::method Execute unguarded expose DlgData. - use arg sh, icon, sleeptime, nomodal - if \ icon~Datatype('N') then icon = self~ResolveSymbolicId(icon) - if icon = -1 then icon = 0 + use arg sh, icon = 0, sleeptime, nomodal + icon = self~resolveIconId(icon) if sleeptime~Datatype('N') = 0 then sleeptime = 0 /* default is no sleep for execute */ if Arg(4, 'o') = 1 then nomodal = 0 if self~startit(icon, nomodal) \= 0 then Modified: main/trunk/extensions/platform/windows/oodialog/resdlg.cls =================================================================== --- main/trunk/extensions/platform/windows/oodialog/resdlg.cls 2009-01-01 06:06:17 UTC (rev 3838) +++ main/trunk/extensions/platform/windows/oodialog/resdlg.cls 2009-01-01 07:38:02 UTC (rev 3839) @@ -64,8 +64,7 @@ expose library resource dlgData. use arg icon = 0, modal = 0 - if \ icon~datatype("W") then icon = self~resolveSymbolicId(icon) - if icon < 0 then icon = 0 + icon = self~resolveIconID(icon) if modal <> 0 & modal <> 1 then do if modal~translate = "NOTMODAL" then modal = 1 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |