From: <os...@us...> - 2011-09-19 18:15:35
|
Revision: 7155 http://oorexx.svn.sourceforge.net/oorexx/?rev=7155&view=rev Author: osims Date: 2011-09-19 18:15:27 +0000 (Mon, 19 Sep 2011) Log Message: ----------- Fixed ability to run "intermediate" and "leaf" components stand-alone. Renamed OrderForm to Order (OrderForm will appear in next Exercise). Added OrderList. Also some minor mods. Modified Paths: -------------- main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Customer/CustomerListView.rex main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Customer/CustomerView.rex main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/OrderMgmt/RequiresList.rex main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Product/ProductListView.rex main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Product/ProductView.rex Added Paths: ----------- main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderListView.h main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderListView.rc main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderListView.rex main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderModelData.rex main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderView.h main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderView.rc main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderView.rex main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/StartupOrder.rex main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/StartupOrderList.rex main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/bmp/OrderList.ico Removed Paths: ------------- main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderFormView.h main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderFormView.rc main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderFormView.rex main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/StartupOrderForm.rex Modified: main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Customer/CustomerListView.rex =================================================================== --- main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Customer/CustomerListView.rex 2011-09-18 22:55:22 UTC (rev 7154) +++ main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Customer/CustomerListView.rex 2011-09-19 18:15:27 UTC (rev 7155) @@ -36,7 +36,7 @@ /*----------------------------------------------------------------------------*/ /* ooDialog User Guide Exercise 06: The CustomerListView class - CustomerList.rex v01-00 10Sep11 + CustomerList.rex v01-01 19Sep11 Contains: class "CustomerListView" Pre-requisite files: CustomerListView.rc, CustomerListView.h. @@ -45,8 +45,11 @@ Description: Provides a list of Customers and supports viewing any given Customer via a double-click on that Customer's item in the list. + This is an "Intermediate" component - it is invoked by OrderMgmt, + and invokes CustomerView. - v00-01 10Sep11 First Version + v01-00 10Sep11: First Version + v01-01 19Sep11: Corrected for stand-alone invocation. Outstanding Problems: None reported. *******************************************************************************/ @@ -56,21 +59,17 @@ ::CLASS CustomerListView SUBCLASS RcDialog PUBLIC - ::ATTRIBUTE hasParent CLASS - /*---------------------------------------------------------------------------- Class Methods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ ::METHOD newInstance CLASS PUBLIC - expose root hasParent - use arg parent, root - if parent = "SA" then hasParent = .false; else hasParent = .true + use arg rootDlg .Application~useGlobalConstDir("O","Customer\CustomerListView.h") - say ".CustomerListView-newInstance-01: root =" root + say ".CustomerListView-newInstance-01: root =" rootDlg dlg = self~new("Customer\CustomerListView.rc", "IDD_DIALOG1") say ".CustomerListView-newInstance-02." - dlg~activate(parent, root) -- Must be the last statement. + dlg~activate(rootDlg) -- Must be the last statement. /*---------------------------------------------------------------------------- @@ -96,13 +95,15 @@ /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ ::METHOD activate unguarded - expose root - use arg parent, root - say "CustomerListView-activate-01: root =" root - trace i - if .CustomerListView~hasParent then, - self~popupAsChild(root, "SHOWTOP", ,"IDI_CUSTLIST_DLGICON") - else self~execute("SHOWTOP","IDI_CUSTLIST_DLGICON") + expose rootDlg + use arg rootDlg + say "CustomerListView-activate-01: root =" rootDlg + --trace i + if rootDlg = "SA" then do -- If standalone operation required + rootDlg = self -- To pass on to children + self~execute("SHOWTOP","IDI_CUSTLIST_DLGICON") + end + else self~popupAsChild(rootDlg, "SHOWTOP", ,"IDI_CUSTLIST_DLGICON") return @@ -163,20 +164,19 @@ /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ ::METHOD showCustomer unguarded - expose lvCustomers root + expose lvCustomers rootDlg item = lvCustomers~selected say "CustomerListView-showCustomer-01: item selected =" item info=.Directory~new if lvCustomers~getItemInfo(item, info) then do say "CustomerListView-showCustomer-02: info~text =" info~text --call startCustomerView self - say "CustomerListView-showCustomer-03; root =" root -.local~my.idCustomerData = .CustomerData~new -- create Customer Data instance -.local~my.idCustomerModel = .CustomerModel~new -- create Customer Model instance -.local~my.idCustomerData~activate -.local~my.idCustomerModel~activate - if .CustomerListView~hasParent then .CustomerView~newInstance(self,root,"CU003") - else .CustomerView~newInstance(self,self,"CU003") + say "CustomerListView-showCustomer-03; root =" rootDlg + .local~my.idCustomerData = .CustomerData~new -- create Customer Data instance + .local~my.idCustomerModel = .CustomerModel~new -- create Customer Model instance + .local~my.idCustomerData~activate + .local~my.idCustomerModel~activate + .CustomerView~newInstance(rootDlg,"CU003") say "CustomerListView-showCustomer-03: after startCustomerView" end else do Modified: main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Customer/CustomerView.rex =================================================================== --- main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Customer/CustomerView.rex 2011-09-18 22:55:22 UTC (rev 7154) +++ main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Customer/CustomerView.rex 2011-09-19 18:15:27 UTC (rev 7155) @@ -35,24 +35,27 @@ /* */ /*----------------------------------------------------------------------------*/ /* ooDialog User Guide - Exercise 06: The CustomerView component v02-00 06Sep11 + Exercise 06: The CustomerView component v02-01 18Sep11 Contains: class "CustomerView"; routine "startCustomerView". Pre-requisites: CustomerView.rc, CustomerView.h. Description: A sample Customer View component - part of the sample - Order Management application. + Order Management application. This is a "leaf" component - + it does not invoke other components. Changes: - v02-00: 06Sep11 + v02-00 06Sep11. + v02-01 18Sep11: Corrected stand-alone invocation. ------------------------------------------------------------------------------*/ ::requires "ooDialog.cls" ::requires "CustomerModelData.rex" + /*////////////////////////////////////////////////////////////////////////////// ============================================================================== - CustomerView v00-07 26Aug11 + CustomerView v00-08 19Sep11 ------------- The "view" (or "gui") part of the Customer component - part of the sample Order Management application. @@ -65,14 +68,13 @@ v00-04: Took out the OK method - include that in Exercise05. v00-05: Modified to use CustomerData and CustomerModel classes. v00-07: Added "newInstance" class method - removed routine "StartCustomerView". + v00-08 19Sep11: Corrected for stand-alone invocation. [interface (idl format)] = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ ::CLASS CustomerView SUBCLASS RcDialog PUBLIC - ::ATTRIBUTE hasParent CLASS --Rel2StartupDir. - /*---------------------------------------------------------------------------- Class Methods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ @@ -81,15 +83,13 @@ expose hasParent --Rel2StartupDir. -- ADDED FOR EXERCISE06. Statements in the old "StartCustomerView" Routine -- have been moved here. The ~activate statement has also changed. - use arg parent, root, customerNo - if parent = "SA" then hasParent = .false; else hasParent = .true - say ".CustomerView-newInstance-01: Start." + use arg rootDlg, customerNo + --say ".CustomerView-newInstance-01: Start." .Application~setDefaults("O", "Customer\CustomerView.h", .false) --Rel2StartupDir. -- Create an instance of CustomerView and show it: - say ".CustomerView-newInstance-01b: rcFile = ==>"||rcFile||"<==" dlg = .CustomerView~new("Customer\CustomerView.rc", "IDD_CUST_DIALOG") --Rel2StartupDir. - say ".CustomerView-newInstance-02: root =" root - dlg~activate(root, customerNo) + --say ".CustomerView-newInstance-02: root =" rootDlg + dlg~activate(rootDlg, customerNo) /*---------------------------------------------------------------------------- @@ -100,7 +100,7 @@ Init - creates the dialog instance but does not make it visible. --*/ ::METHOD init expose menuBar - say "CustomerView-init-01." + --say "CustomerView-init-01." forward class (super) continue @@ -114,7 +114,7 @@ Create Menu Bar - Creates the menu bar on the dialog. --*/ ::METHOD createMenuBar expose menuBar - say "CustomerView-createMenuBar-01." + --say "CustomerView-createMenuBar-01." menuBar = .ScriptMenuBar~new("Customer\CustomerView.rc", "IDR_CUST_MENU", , , .true, self) --Rel2StartupDir. return .true @@ -122,12 +122,10 @@ /*-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Activate - Shows the Dialog - i.e. makes it visible to the user. --*/ ::METHOD activate unguarded - use arg parentDlg -- ADDED FOR EXERCISE06. - say "CustomerView-activate-01." - trace i - if .CustomerView~hasParent then, - self~popUpAsChild(parentDlg,"SHOWTOP",,"IDI_CUST_DLGICON") --ADDED FOR EXERCISE06. - else self~execute("SHOWTOP","IDI_CUST_DLGICON") --ADDED FOR EXERCISE06. + use arg rootDlg, customerNo -- ADDED FOR EXERCISE06. + --say "CustomerView-activate-01." + if rootDlg = "SA" then self~execute("SHOWTOP","IDI_CUST_DLGICON") --ADDED FOR EXERCISE06. + else self~popUpAsChild(rootDlg,"SHOWTOP",,"IDI_CUST_DLGICON") --ADDED FOR EXERCISE06. return @@ -135,7 +133,7 @@ InitDialog - Called by ooDialog -- */ ::METHOD initDialog expose menuBar custControls - say "CustomerView-initDialog-01." + --say "CustomerView-initDialog-01." menuBar~attachTo(self) -- Create objects that map to the edit controls defined by the "customer.rc" -- so they can be programmatically used elsewhere in the class: @@ -170,7 +168,7 @@ "Would you like to open the Customer List now?" hwnd = self~dlgHandle answer = MessageDialog(msg,hwnd,"Create New Customer","YESNO","WARNING","DEFBUTTON2 APPLMODAL") - if answer = 6 then say "CustomerView-newCustomer-01: Customer List not yet implemented." + if answer = 6 then say "CustomerView-newCustomer-01: Customer List invocation not yet implemented." /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -208,7 +206,7 @@ the button. --*/ ::METHOD recordChanges unguarded expose custControls custData newCustData - say "CustomerView-recordChanges-01" + --say "CustomerView-recordChanges-01" newCustData = .directory~new newCustData[custName] = custControls[ecCustName]~getLine(1) @@ -254,7 +252,7 @@ appropriate controls. --*/ ::METHOD getData expose custData - say "CustomerView-getData-01." + --say "CustomerView-getData-01." idCustomerModel = .local~my.idCustomerModel custData = idCustomerModel~query @@ -262,7 +260,7 @@ showData - displays data in the dialog's controls. */ ::METHOD showData expose custData custControls - say "CustomerView-showData-01." + --say "CustomerView-showData-01." -- Show CustNo and CustName: custControls[ecCustNo]~setText(custData[custNo]) custControls[ecCustName]~setText(custData[custName]) @@ -328,14 +326,3 @@ /*============================================================================*/ - - -/*============================================================================*/ -::ROUTINE StartCustomerView PUBLIC - say "StartCustomerView Routine-01: Start." - .Application~setDefaults("O", "CustomerView.h", .false) - dlg = .CustomerView~new("CustomerView.rc", "IDD_CUST_DIALOG") - say "StartCustomerView Routine-02: dlg~activate." - dlg~activate - say "StartCustomerView Routine-03: End." -/*============================================================================*/ Deleted: main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderFormView.h =================================================================== --- main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderFormView.h 2011-09-18 22:55:22 UTC (rev 7154) +++ main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderFormView.h 2011-09-19 18:15:27 UTC (rev 7155) @@ -1,15 +0,0 @@ -#ifndef IDC_STATIC -#define IDC_STATIC (-1) -#endif - -#define IDR_ORDFORM_MENU 102 -#define IDD_ORDFORM_DIALOG 105 -#define IDI_ORDFORM_DLGICON 107 -#define IDC_ORDFORM_ITEMS 1008 -#define IDM_DOTHIS1 40000 -#define IDC_ORDFORM_NAMEADDR 40001 -#define IDM_ABOUT1 40001 -#define IDC_ORDFORM_DATE 40002 -#define IDC_ORDFORM_PLACEORDER 40003 -#define IDC_ORDFORM_ORDNO 40004 -#define IDC_ORDFORM_CUSTNO 40005 Deleted: main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderFormView.rc =================================================================== --- main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderFormView.rc 2011-09-18 22:55:22 UTC (rev 7154) +++ main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderFormView.rc 2011-09-19 18:15:27 UTC (rev 7155) @@ -1,86 +0,0 @@ -/*----------------------------------------------------------------------------*/ -/* */ -/* Copyright (c) 2011-2011 Rexx Language Association. All rights reserved. */ -/* */ -/* This program and the accompanying materials are made available under */ -/* the terms of the Common Public License v1.0 which accompanies this */ -/* distribution. A copy is also available at the following address: */ -/* http://www.oorexx.org/license.html */ -/* */ -/* Redistribution and use in source and binary forms, with or */ -/* without modification, are permitted provided that the following */ -/* conditions are met: */ -/* */ -/* Redistributions of source code must retain the above copyright */ -/* notice, this list of conditions and the following disclaimer. */ -/* Redistributions in binary form must reproduce the above copyright */ -/* notice, this list of conditions and the following disclaimer in */ -/* the documentation and/or other materials provided with the distribution. */ -/* */ -/* Neither the name of Rexx Language Association nor the names */ -/* of its contributors may be used to endorse or promote products */ -/* derived from this software without specific prior written permission. */ -/* */ -/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ -/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ -/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */ -/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ -/* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ -/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */ -/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */ -/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY */ -/* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */ -/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */ -/* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* */ -/*----------------------------------------------------------------------------*/ - -#include <windows.h> -#include <commctrl.h> -#include <richedit.h> -#include "orderformview.h" - - -LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL -IDR_ORDFORM_MENU MENU -{ - POPUP "Actions" - { - MENUITEM "DoThis", IDM_DOTHIS1 - } - POPUP "Help" - { - MENUITEM "About", IDM_ABOUT1 - } -} - - -LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL -IDD_ORDFORM_DIALOG DIALOG 0, 0, 272, 271 -STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_GROUP | WS_POPUP | WS_SYSMENU -CAPTION "Order Form" -FONT 8, "Ms Shell Dlg" -{ - CONTROL "", IDC_ORDFORM_DATE, DATETIMEPICK_CLASS, WS_TABSTOP | DTS_RIGHTALIGN, 185, 15, 70, 15 - EDITTEXT IDC_ORDFORM_ORDNO, 215, 35, 40, 14, ES_AUTOHSCROLL - EDITTEXT IDC_ORDFORM_CUSTNO, 215, 55, 40, 14, ES_AUTOHSCROLL - LTEXT "Order No.", IDC_STATIC, 174, 38, 32, 8, SS_LEFT - LTEXT "Customer No.", IDC_STATIC, 170, 58, 44, 8, SS_LEFT - CONTROL "", IDC_ORDFORM_ITEMS, WC_LISTVIEW, WS_TABSTOP | WS_BORDER | LVS_ALIGNLEFT | LVS_ICON, 20, 75, 240, 115 - LTEXT "Date", IDC_STATIC, 158, 18, 16, 8, SS_LEFT - LTEXT "Total Cost:", IDC_STATIC, 116, 200, 35, 8, SS_LEFT - LTEXT "Discount", IDC_STATIC, 116, 214, 29, 8, SS_LEFT - DEFPUSHBUTTON "Place Order", IDC_ORDFORM_PLACEORDER, 200, 245, 50, 14 - LTEXT "Tax", IDC_STATIC, 116, 228, 13, 8, SS_LEFT - RTEXT "0.00", IDC_STATIC, 164, 214, 40, 8, SS_RIGHT - RTEXT "0.00", IDC_STATIC, 164, 228, 40, 8, SS_RIGHT - RTEXT "0.00", IDC_STATIC, 215, 228, 40, 8, SS_RIGHT - RTEXT "0.00", IDC_STATIC, 215, 200, 40, 8, SS_RIGHT - RTEXT "0.00", IDC_STATIC, 215, 214, 40, 8, SS_RIGHT - EDITTEXT IDC_ORDFORM_NAMEADDR, 20, 30, 103, 39, ES_AUTOHSCROLL - LTEXT "Customer:", IDC_STATIC, 28, 16, 32, 8, SS_LEFT -} - - -LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL -IDI_ORDFORM_DLGICON ICON ".\\Order\\bmp\\OrderForm.ico" Deleted: main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderFormView.rex =================================================================== --- main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderFormView.rex 2011-09-18 22:55:22 UTC (rev 7154) +++ main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderFormView.rex 2011-09-19 18:15:27 UTC (rev 7155) @@ -1,125 +0,0 @@ -/*----------------------------------------------------------------------------*/ -/* */ -/* Copyright (c) 2011-2011 Rexx Language Association. All rights reserved. */ -/* */ -/* This program and the accompanying materials are made available under */ -/* the terms of the Common Public License v1.0 which accompanies this */ -/* distribution. A copy is also available at the following address: */ -/* http://www.oorexx.org/license.html */ -/* */ -/* Redistribution and use in source and binary forms, with or */ -/* without modification, are permitted provided that the following */ -/* conditions are met: */ -/* */ -/* Redistributions of source code must retain the above copyright */ -/* notice, this list of conditions and the following disclaimer. */ -/* Redistributions in binary form must reproduce the above copyright */ -/* notice, this list of conditions and the following disclaimer in */ -/* the documentation and/or other materials provided with the distribution. */ -/* */ -/* Neither the name of Rexx Language Association nor the names */ -/* of its contributors may be used to endorse or promote products */ -/* derived from this software without specific prior written permission. */ -/* */ -/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ -/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ -/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */ -/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ -/* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ -/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */ -/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */ -/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY */ -/* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */ -/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */ -/* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* */ -/*----------------------------------------------------------------------------*/ -/* ooDialog User Guide - Exercise 06: The OrderFormView class v00-01 25Aug11 - OrderFormView.rex - - Contains: class "OrderFormView". - Pre-requisite files: OrderFormView.rc, OrderFormView.h. - - Changes: - -------------------------------------------------------------------------------*/ - -::requires "ooDialog.cls" - - -/*============================================================================== - OrderFormView v00-01 25Aug11 - ------------- - The "view" (or "gui") part of the OrderForm component - part of the sample - Order Management application. - - interface iOrderFormView { - void new(); - void activate(); - } - = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ - -::CLASS OrderFormView SUBCLASS RcDialog PUBLIC - - ::ATTRIBUTE hasParent CLASS - - ::METHOD newInstance CLASS PUBLIC - expose hasParent - use arg parent, root, orderNo - if parent = "SA" then hasParent = .false; else hasParent = .true - .Application~useGlobalConstDir("O","Order\OrderFormView.h") - dlg = self~new("Order\OrderFormView.rc", "IDD_ORDFORM_DIALOG") - say ".OrderFormView-newInstance: root =" root - dlg~activate(root, orderNo) - - /*---------------------------------------------------------------------------- - Dialog Setup Methods - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ - - /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ - ::METHOD init - -- creates the dialog instance but does not make it visible. - expose menuBar - say "OrderFormView-init-01" - - forward class (super) continue - - if \ self~createMenuBar then do -- if there was a problem - self~initCode = 1 - return - end - - - /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ - ::METHOD createMenuBar - -- Creates the menu bar on the dialog. - expose menuBar - say "OrderFormView-createMenuBar-01" - menuBar = .ScriptMenuBar~new("Order\OrderFormView.rc", IDR_ORDFORM_MENU, , , .true, self) - - return .true - - - /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ - ::METHOD activate unguarded - use arg parentDlg - -- Shows the Dialog - i.e. makes it visible to the user. - say "OrderFormView-activate-01" - -- version 01.00: self~execute("SHOWTOP") -- MUST be last! - --self~popup("SHOWTOP") -- This blocks the code that did the dlg~new. - if .OrderFormView~hasParent then, - self~popUpAsChild(parentDlg,"SHOWTOP",,"IDI_ORDFORM_DLGICON") - else self~execute("SHOWTOP","IDI_ORDFORM_DLGICON") - return - - - /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ - ::METHOD initDialog - -- Called by ooDialog after SHOWTOP. - expose menuBar custControls - say "OrderFormView-initDialog-01" - - menuBar~attachTo(self) - - return Added: main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderListView.h =================================================================== --- main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderListView.h (rev 0) +++ main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderListView.h 2011-09-19 18:15:27 UTC (rev 7155) @@ -0,0 +1,11 @@ +#ifndef IDC_STATIC +#define IDC_STATIC (-1) +#endif + +#define IDD_ORDLIST_LISTVIEW 106 +#define IDI_ORDLIST_DLGICON 107 +#define IDR_ORDLIST_MENU 108 +#define IDC_ORDLIST_LIST 1000 +#define IDC_ORDLIST_SHOWORDER 1001 +#define IDM_ORDLIST_NEWORDER 40000 +#define IDM_ORDLIST_ABOUT 40001 Added: main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderListView.rc =================================================================== --- main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderListView.rc (rev 0) +++ main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderListView.rc 2011-09-19 18:15:27 UTC (rev 7155) @@ -0,0 +1,52 @@ +// Generated by ResEdit 1.5.7 +// Copyright (C) 2006-2010 +// http://www.resedit.net + +#include <windows.h> +#include <commctrl.h> +#include <richedit.h> +#include "OrderListView.h" + + + + +// +// Menu resources +// +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL +IDR_ORDLIST_MENU MENU +{ + POPUP "Actions" + { + MENUITEM "New Order...", IDM_ORDLIST_NEWORDER + } + POPUP "Help" + { + MENUITEM "About...", IDM_ORDLIST_ABOUT + } +} + + + +// +// Dialog resources +// +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL +IDD_ORDLIST_LISTVIEW DIALOG 0, 0, 255, 273 +STYLE DS_3DLOOK | DS_CENTER | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_GROUP | WS_POPUP | WS_THICKFRAME | WS_SYSMENU +EXSTYLE WS_EX_WINDOWEDGE +CAPTION "Order List" +FONT 8, "Ms Shell Dlg" +{ + PUSHBUTTON "Cancel", IDCANCEL, 150, 235, 50, 14 + CONTROL "", IDC_ORDLIST_LIST, WC_LISTVIEW, WS_BORDER | LVS_ALIGNLEFT | LVS_REPORT | LVS_SORTASCENDING, 15, 10, 225, 215 + DEFPUSHBUTTON "Show Order", IDC_ORDLIST_SHOWORDER, 89, 235, 42, 14, WS_DISABLED +} + + + +// +// Icon resources +// +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL +IDI_ORDLIST_DLGICON ICON ".\\bmp\\OrderList.ico" Added: main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderListView.rex =================================================================== --- main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderListView.rex (rev 0) +++ main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderListView.rex 2011-09-19 18:15:27 UTC (rev 7155) @@ -0,0 +1,185 @@ +/*----------------------------------------------------------------------------*/ +/* */ +/* Copyright (c) 2011-2011 Rexx Language Association. All rights reserved. */ +/* */ +/* This program and the accompanying materials are made available under */ +/* the terms of the Common Public License v1.0 which accompanies this */ +/* distribution. A copy is also available at the following address: */ +/* http://www.oorexx.org/license.html */ +/* */ +/* Redistribution and use in source and binary forms, with or */ +/* without modification, are permitted provided that the following */ +/* conditions are met: */ +/* */ +/* Redistributions of source code must retain the above copyright */ +/* notice, this list of conditions and the following disclaimer. */ +/* Redistributions in binary form must reproduce the above copyright */ +/* notice, this list of conditions and the following disclaimer in */ +/* the documentation and/or other materials provided with the distribution. */ +/* */ +/* Neither the name of Rexx Language Association nor the names */ +/* of its contributors may be used to endorse or promote products */ +/* derived from this software without specific prior written permission. */ +/* */ +/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ +/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ +/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */ +/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ +/* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ +/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */ +/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */ +/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY */ +/* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */ +/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */ +/* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* */ +/*----------------------------------------------------------------------------*/ +/* ooDialog User Guide + Exercise 06: The OrderListView class + OrderList.rex v01-00 19Sep11 + + Contains: class "OrderListView" + Pre-requisite files: OrderListView.rc, OrderListView.h. + + Changes: This is the first version. + + Description: Provides a list of Orders and supports viewing any given + Order via a double-click on that Order's item in the list. + This is an "Intermediate" component - it is invoked by OrderMgmt, + and invokes OrderView. + + v01-00 19Sep11: First Version + + Outstanding Problems: None reported. +*******************************************************************************/ + +::REQUIRES "ooDialog.cls" +::REQUIRES "Order\OrderView.rex" + +::CLASS OrderListView SUBCLASS RcDialog PUBLIC + + /*---------------------------------------------------------------------------- + Class Methods + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + + ::METHOD newInstance CLASS PUBLIC + use arg rootDlg + .Application~useGlobalConstDir("O","Order\OrderListView.h") + say ".OrderListView-newInstance-01: root =" rootDlg + dlg = self~new("Order\OrderListView.rc", "IDD_ORDLIST_LISTVIEW") + say ".OrderListView-newInstance-02." + dlg~activate(rootDlg) -- Must be the last statement. + + + /*---------------------------------------------------------------------------- + Instance Methods + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + + ::METHOD init + forward class (super) continue + if \ self~createMenuBar then do -- if there was a problem + self~initCode = 1 + return + end + + + /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + ::METHOD createMenuBar + -- Creates the menu bar on the dialog. + expose menuBar + say "OrderListView-createMenuBar-01." + menuBar = .ScriptMenuBar~new("Order\OrderListView.rc", "IDR_ORDLIST_MENU", , , .true, self) + return .true + + + /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + ::METHOD activate unguarded + expose rootDlg + use arg rootDlg + say "OrderListView-activate-01: root =" rootDlg + --trace i + if rootDlg = "SA" then do -- If standalone operation required + rootDlg = self -- To pass on to children + self~execute("SHOWTOP","IDI_ORDLIST_DLGICON") + end + else self~popupAsChild(rootDlg, "SHOWTOP", ,"IDI_ORDLIST_DLGICON") + return + + + /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + ::METHOD initDialog + expose menuBar lvOrders btnShowOrder + -- Called by ooDialog after SHOWTOP. + + menuBar~attachTo(self) + + say "OrderListView-initDialog-01"; say + lvOrders = self~newListView("IDC_ORDLIST_LIST"); + lvOrders~addExtendedStyle(GRIDLINES FULLROWSELECT) + lvOrders~insertColumnPX(0,"OrderNo",60,"LEFT") + lvOrders~insertColumnPX(1,"CustNo",80,"LEFT") + lvOrders~insertColumnPX(2,"CustName",130,"LEFT") + lvOrders~insertColumnPX(3,"Date",80,"LEFT") + self~connectListViewEvent("IDC_ORDLIST_LIST","CLICK",itemSelected) + self~connectListViewEvent("IDC_ORDLIST_LIST","ACTIVATE",openItem) + self~connectButtonEvent("IDC_ORDLIST_SHOWORDER","CLICKED",showOrder) + --btnShowOrder = self~newPushButton("IDC_SHOW_Order") + + self~loadList + + + /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + ::METHOD loadList + expose lvOrders + + lvOrders~addRow( 1, ,"DM00263", "CU003", "ABC Inc.", "21Nov12") + lvOrders~addRow( 2, ,"DM10473", "AB15784", "Frith Inc.", "12Oct12") + lvOrders~addRow( 3, ,"DM13003", "CU001", "LMN & Co", "07Jun12") + lvOrders~addRow( 4, ,"AS49005", "CU003", "EJ Smith", "30Aug12") + lvOrders~addRow( 5, ,"AM72010", "CU005", "Red-On Inc.","17Jan13") + lvOrders~addRow( 6, ,"OZ15784", "CU003", "Joe Bloggs & Co Ltd","28Feb13") + /*do i = 1 to 50 + lvOrders~addRow(i, , "Line" i, i) + end*/ + lvOrders~setColumnWidth(1) -- set width of 2nd column to longest text entry. + + + /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + ::METHOD itemSelected unguarded + expose lvOrders --btnShowOrder + use arg id, itemIndex, columnIndex, keyState + say "OrderListView-itemSelected: itemIndex, columnIndex, keyState:" itemIndex columnIndex keyState + say "OrderListView-itemSelected: item selected is:"lvOrders~selected + self~enableControl("IDC_ORDLIST_SHOWORDER") + --text = list~itemText(itemIndex) + --colText = list~itemText(itemIndex, 1) + --parent~insertNewItem(text, colText) + + + /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + ::METHOD openItem UNGUARDED + say "OrderListView-openItem-01: item selected =" item + self~showOrder + + + /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + ::METHOD showOrder unguarded + expose lvOrders rootDlg + item = lvOrders~selected + say "OrderListView-showOrder-01: item selected =" item + info=.Directory~new + if lvOrders~getItemInfo(item, info) then do + say "OrderListView-showOrder-02: info~text =" info~text + --call startOrderView self + say "OrderListView-showOrder-03; root =" rootDlg + .local~my.idOrderData = .OrderData~new -- create Order Data instance + .local~my.idOrderModel = .OrderModel~new -- create Order Model instance + .local~my.idOrderData~activate + .local~my.idOrderModel~activate + .OrderView~newInstance(rootDlg,"DM00263") + say "OrderListView-showOrder-03: after startOrderView" + end + else do + say "NO ITEM SeLeCTED!" + end +/*============================================================================*/ Added: main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderModelData.rex =================================================================== --- main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderModelData.rex (rev 0) +++ main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderModelData.rex 2011-09-19 18:15:27 UTC (rev 7155) @@ -0,0 +1,144 @@ +/*----------------------------------------------------------------------------*/ +/* */ +/* Copyright (c) 2011-2011 Rexx Language Association. All rights reserved. */ +/* */ +/* This program and the accompanying materials are made available under */ +/* the terms of the Common Public License v1.0 which accompanies this */ +/* distribution. A copy is also available at the following address: */ +/* http://www.oorexx.org/license.html */ +/* */ +/* Redistribution and use in source and binary forms, with or */ +/* without modification, are permitted provided that the following */ +/* conditions are met: */ +/* */ +/* Redistributions of source code must retain the above copyright */ +/* notice, this list of conditions and the following disclaimer. */ +/* Redistributions in binary form must reproduce the above copyright */ +/* notice, this list of conditions and the following disclaimer in */ +/* the documentation and/or other materials provided with the distribution. */ +/* */ +/* Neither the name of Rexx Language Association nor the names */ +/* of its contributors may be used to endorse or promote products */ +/* derived from this software without specific prior written permission. */ +/* */ +/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ +/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ +/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */ +/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ +/* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ +/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */ +/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */ +/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY */ +/* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */ +/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */ +/* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* */ +/*----------------------------------------------------------------------------*/ +/* ooDialog User Guide + Exercise 04: The OrderModel and OrderData Classes v00-01 19Sep11 + + Contains: classes "OrderModel" and "OrderResource". + Pre-requisites: None. + + Outstanding Problems: + None. + + Changes: + v00-01: 29Jly11 +------------------------------------------------------------------------------*/ + + +/*////////////////////////////////////////////////////////////////////////////// + ============================================================================== + OrderModel v00-01 19Sep11 + ------------ + The "model" part of the Order component. + + interface OrderModel{ + cusstomerModel newInstance() -- Class method. + null activate() + aDirectory query() -- Returns Order Data in a directory instance. + }; + = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ + +::CLASS OrderModel PUBLIC + +/*---------------------------------------------------------------------------- + Class Methods + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + + ::METHOD newInstance CLASS PUBLIC + -- Creates an instance and returns it. + aOrderModel = self~new + return aOrderModel + + +/*---------------------------------------------------------------------------- + Instance Methods + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + + ::METHOD activate PUBLIC + -- Gets its data from ProductData. + expose idOrderData + idOrderData = .local~my.idOrderData + + + ::METHOD query PUBLIC + -- Returns data requested (no argument = return all) + expose idOrderData + say "OrderModel-query-01." + data = idOrderData~getData + return data +/*============================================================================*/ + + + +/*////////////////////////////////////////////////////////////////////////////// + ============================================================================== + OrderData v00-01 19Sep11 + ------------ + The "data" part of the Order component. + [interface (idl format)] + = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ + +::CLASS OrderData PUBLIC + +/*---------------------------------------------------------------------------- + Class Methods + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + + /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + ::METHOD newInstance CLASS PUBLIC + aOrderData = self~new + return aOrderData + + +/*---------------------------------------------------------------------------- + Instance Methods + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + + /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + ::METHOD activate PUBLIC + expose custData + custData = .directory~new + custData[custNo] = "AB15784" + custData[custName] = "Joe Bloggs & Co Ltd" + arrCustAddr = .array~new + arrCustAddr[1] = "28 Frith Street" + arrCustAddr[2] = "Hardington" + arrCustAddr[3] = "Blockshire" + custData[CustAddr] = arrCustAddr + custData[custZip] = "LB7 4EJ" + custData[custDiscount]= "B1" + return + + + /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + ::METHOD getData PUBLIC + expose custData + say "OrderData-getData-01." + return custData + +/*============================================================================*/ + + Added: main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderView.h =================================================================== --- main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderView.h (rev 0) +++ main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderView.h 2011-09-19 18:15:27 UTC (rev 7155) @@ -0,0 +1,15 @@ +#ifndef IDC_STATIC +#define IDC_STATIC (-1) +#endif + +#define IDR_ORDFORM_MENU 102 +#define IDD_ORDFORM_DIALOG 105 +#define IDI_ORDFORM_DLGICON 107 +#define IDC_ORDFORM_ITEMS 1008 +#define IDM_DOTHIS1 40000 +#define IDC_ORDFORM_NAMEADDR 40001 +#define IDM_ABOUT1 40001 +#define IDC_ORDFORM_DATE 40002 +#define IDC_ORDFORM_PLACEORDER 40003 +#define IDC_ORDFORM_ORDNO 40004 +#define IDC_ORDFORM_CUSTNO 40005 Added: main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderView.rc =================================================================== --- main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderView.rc (rev 0) +++ main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderView.rc 2011-09-19 18:15:27 UTC (rev 7155) @@ -0,0 +1,66 @@ +// Generated by ResEdit 1.5.7 +// Copyright (C) 2006-2010 +// http://www.resedit.net + +#include <windows.h> +#include <commctrl.h> +#include <richedit.h> +#include "orderview.h" + + + + +// +// Menu resources +// +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL +IDR_ORDFORM_MENU MENU +{ + POPUP "Actions" + { + MENUITEM "DoThis", IDM_DOTHIS1 + } + POPUP "Help" + { + MENUITEM "About", IDM_ABOUT1 + } +} + + + +// +// Dialog resources +// +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL +IDD_ORDFORM_DIALOG DIALOG 0, 0, 272, 271 +STYLE DS_3DLOOK | DS_CENTER | DS_MODALFRAME | DS_SHELLFONT | WS_CAPTION | WS_VISIBLE | WS_GROUP | WS_POPUP | WS_SYSMENU +CAPTION "Sales Order" +FONT 8, "Ms Shell Dlg" +{ + CONTROL "", IDC_ORDFORM_DATE, DATETIMEPICK_CLASS, WS_TABSTOP | DTS_RIGHTALIGN, 185, 15, 70, 15 + EDITTEXT IDC_ORDFORM_ORDNO, 215, 35, 40, 14, ES_AUTOHSCROLL + EDITTEXT IDC_ORDFORM_CUSTNO, 215, 55, 40, 14, ES_AUTOHSCROLL + LTEXT "Order No.", IDC_STATIC, 174, 38, 32, 8, SS_LEFT + LTEXT "Customer No.", IDC_STATIC, 170, 58, 44, 8, SS_LEFT + CONTROL "", IDC_ORDFORM_ITEMS, WC_LISTVIEW, WS_TABSTOP | WS_BORDER | LVS_ALIGNLEFT | LVS_ICON, 20, 75, 240, 115 + LTEXT "Date", IDC_STATIC, 158, 18, 16, 8, SS_LEFT + LTEXT "Total Cost:", IDC_STATIC, 116, 200, 35, 8, SS_LEFT + LTEXT "Discount", IDC_STATIC, 116, 214, 29, 8, SS_LEFT + DEFPUSHBUTTON "Place Order", IDC_ORDFORM_PLACEORDER, 200, 245, 50, 14 + LTEXT "Tax", IDC_STATIC, 116, 228, 13, 8, SS_LEFT + RTEXT "0.00", IDC_STATIC, 164, 214, 40, 8, SS_RIGHT + RTEXT "0.00", IDC_STATIC, 164, 228, 40, 8, SS_RIGHT + RTEXT "0.00", IDC_STATIC, 215, 228, 40, 8, SS_RIGHT + RTEXT "0.00", IDC_STATIC, 215, 200, 40, 8, SS_RIGHT + RTEXT "0.00", IDC_STATIC, 215, 214, 40, 8, SS_RIGHT + EDITTEXT IDC_ORDFORM_NAMEADDR, 20, 30, 103, 39, ES_AUTOHSCROLL + LTEXT "Customer:", IDC_STATIC, 28, 16, 32, 8, SS_LEFT +} + + + +// +// Icon resources +// +LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL +IDI_ORDFORM_DLGICON ICON ".\\Order\\bmp\\OrderForm.ico" Added: main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderView.rex =================================================================== --- main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderView.rex (rev 0) +++ main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/OrderView.rex 2011-09-19 18:15:27 UTC (rev 7155) @@ -0,0 +1,128 @@ +/*----------------------------------------------------------------------------*/ +/* */ +/* Copyright (c) 2011-2011 Rexx Language Association. All rights reserved. */ +/* */ +/* This program and the accompanying materials are made available under */ +/* the terms of the Common Public License v1.0 which accompanies this */ +/* distribution. A copy is also available at the following address: */ +/* http://www.oorexx.org/license.html */ +/* */ +/* Redistribution and use in source and binary forms, with or */ +/* without modification, are permitted provided that the following */ +/* conditions are met: */ +/* */ +/* Redistributions of source code must retain the above copyright */ +/* notice, this list of conditions and the following disclaimer. */ +/* Redistributions in binary form must reproduce the above copyright */ +/* notice, this list of conditions and the following disclaimer in */ +/* the documentation and/or other materials provided with the distribution. */ +/* */ +/* Neither the name of Rexx Language Association nor the names */ +/* of its contributors may be used to endorse or promote products */ +/* derived from this software without specific prior written permission. */ +/* */ +/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ +/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ +/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */ +/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ +/* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ +/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */ +/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */ +/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY */ +/* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */ +/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */ +/* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* */ +/*----------------------------------------------------------------------------*/ +/* ooDialog User Guide + Exercise 06: The OrderView class v00-02 19Aug11 + OrderFormView.rex + + Contains: class "OrderView". + Pre-requisite files: OrderView.rc, OrderView.h. + + Description: A sample Order View component - part of the sample + Order Management application. + This is a "leaf" component - invoked by OrderListView. + + Outstanding Problems: None reported. + + Changes: + v00-01 25Aug11. + v00-02 19Sep11: Corrected standalone invocation. + +------------------------------------------------------------------------------*/ + +::REQUIRES "ooDialog.cls" +::REQUIRES "Order\OrderModelData.rex" + + +/*============================================================================== + OrderFormView v00-02 19Sep11 + ------------- + The "view" (or "gui") part of the Order component - part of the sample + Order Management application. + + interface iOrderFormView { + void new(); + void activate(); + } + = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */ + +::CLASS OrderView SUBCLASS RcDialog PUBLIC + + ::METHOD newInstance CLASS PUBLIC + expose rootDlg + use arg rootDlg, orderNo + say ".OrderView-newInstance: rootDlg =" rootDlg + .Application~useGlobalConstDir("O","Order\OrderView.h") + dlg = self~new("Order\OrderView.rc", "IDD_ORDFORM_DIALOG") + dlg~activate(rootDlg, orderNo) + + /*---------------------------------------------------------------------------- + Dialog Setup Methods + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + + /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + ::METHOD init + -- creates the dialog instance but does not make it visible. + expose menuBar + say "OrderView-init-01" + + forward class (super) continue + + if \ self~createMenuBar then do -- if there was a problem + self~initCode = 1 + return + end + + + /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + ::METHOD createMenuBar + -- Creates the menu bar on the dialog. + expose menuBar + say "OrderView-createMenuBar-01" + menuBar = .ScriptMenuBar~new("Order\OrderView.rc", IDR_ORDFORM_MENU, , , .true, self) + + return .true + + + /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + ::METHOD activate unguarded + use arg rootDlg + -- Shows the Dialog - i.e. makes it visible to the user. + say "OrderView-activate-01" + if rootDlg = "SA" then self~execute("SHOWTOP","IDI_ORDFORM_DLGICON") + else self~popUpAsChild(rootDlg,"SHOWTOP",,"IDI_ORDFORM_DLGICON") + return + + + /*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */ + ::METHOD initDialog + -- Called by ooDialog after SHOWTOP. + expose menuBar custControls + say "OrderView-initDialog-01" + + menuBar~attachTo(self) + + return Added: main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/StartupOrder.rex =================================================================== --- main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/StartupOrder.rex (rev 0) +++ main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/StartupOrder.rex 2011-09-19 18:15:27 UTC (rev 7155) @@ -0,0 +1,54 @@ +/*----------------------------------------------------------------------------*/ +/* */ +/* Copyright (c) 2011-2011 Rexx Language Association. All rights reserved. */ +/* */ +/* This program and the accompanying materials are made available under */ +/* the terms of the Common Public License v1.0 which accompanies this */ +/* distribution. A copy is also available at the following address: */ +/* http://www.oorexx.org/license.html */ +/* */ +/* Redistribution and use in source and binary forms, with or */ +/* without modification, are permitted provided that the following */ +/* conditions are met: */ +/* */ +/* Redistributions of source code must retain the above copyright */ +/* notice, this list of conditions and the following disclaimer. */ +/* Redistributions in binary form must reproduce the above copyright */ +/* notice, this list of conditions and the following disclaimer in */ +/* the documentation and/or other materials provided with the distribution. */ +/* */ +/* Neither the name of Rexx Language Association nor the names */ +/* of its contributors may be used to endorse or promote products */ +/* derived from this software without specific prior written permission. */ +/* */ +/* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS */ +/* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT */ +/* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS */ +/* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT */ +/* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, */ +/* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED */ +/* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */ +/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY */ +/* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */ +/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS */ +/* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +/* */ +/*----------------------------------------------------------------------------*/ +/* ooDialog User Guide + Exercise06: Stand-alone startup for OrderForm + startupOrderForm.rex v01-00 12Sep11 + + Contains: Startup code. + Pre-requisites: Must be run from the parent folder of the Order folder. + + Changes: + v01-00 12Sep11: First Version + + Outstanding Problems: None reported. +*******************************************************************************/ + + + +.OrderFormView~newInstance("SA") + +::REQUIRES "Order\OrderFormView.rex" Deleted: main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/StartupOrderForm.rex =================================================================== --- main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/StartupOrderForm.rex 2011-09-18 22:55:22 UTC (rev 7154) +++ main/trunk/samples/windows/oodialog/userGuide/exercises/Exercise06/Order/StartupOrderForm.rex 2011-09-19 18:15:27 UTC (rev 7155) @@ -1,54 +0,0 @@ -/*----------------------------------------------------------------------------*/ -/* */ -/* Copyright (c) 2011-2011 Rexx Language Association. All rights reserved. */ -/* */ -/* This program and the accompanying materials are made available under */ -/* the terms of the Common Public License v1.0 which accompanies this */ -/* distribution. A copy is also... [truncated message content] |