PWCT 1.9 Art Documentation ( http://doublesvsoop.sourceforge.net )

2006-2019, Mahmoud Fayed ( msfclipper@users.sourceforge.net )

_____________________________________________________________________________________

Table of contents

1 - Introduction

2 - Implementation steps

3 - Final Steps Tree

1 - Introduction

In this lesson we are going to learn how to develop large applications using HarbourPWCT (Part 4)

In this part of our lesson we will create a (Sub Window) template to be used later in our development

The (Sub Window) template is a (Server Extension) and it's Class based.

This template uses the component (CG Replace String) to enable us to change the (class name)

and the (window name) quickly.

When you use this template to change the class name you will modify only the step

( PWCT-Code Generator: Replace String (MyClassName) with (mysubwindow) )

Where (mysubwindow) is the class name

To change the window name you will modify only the step

( Data cWindowName Init Value "SubWindowName" )

Developing applications this way will enable you to create many objects of the same class

And you can use these objects at the same time (displaying the same window more than once)

and each object of our class have its own window name stored in the property (cWindowName)

All what you need is to create new object and assign a different window name to the property

(cWindowName) then call the method (ShowWindow) to dispaly the window.

 

Since this is a (Server Extension) to use it you need to generate the source code file (CTRL+R)

Then to add this extension to your application you need to call the generated source code file

And this can be done using the component (Set procedure to)

2 - Implementation Steps

s1.JPG

Fig. (1) Goal Desginer - Steps Tree

Select the step (Set Class Name & Window Name)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (PWCT - Code Generator)

                3 - Select the component (CG Replace String)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (CG Replace String)

                Note : Stop typing when you see the required component is selected

s2.JPG

Fig. (2) Component Browser – Select the component (CG Replace String)

After selecting the component click Ok or press ENTER

s3.JPG

Fig. (3) Interaction page - Set the properties and enter the required data as in the image above

s4.JPG

Fig. (4) Goal Desginer - Steps Tree

Select the step (Set Class Name & Window Name)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (PWCT - Code Generator)

                3 - Select the component (CG Replace String)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (CG Replace String)

                Note : Stop typing when you see the required component is selected

s5.JPG

Fig. (5) Component Browser – Select the component (CG Replace String)

After selecting the component click Ok or press ENTER

s6.JPG

Fig. (6) Interaction page - Set the properties and enter the required data as in the image above

s7.JPG

Fig. (7) Goal Desginer - Steps Tree

Select the step (Class)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Object Oriented Programming (OOP))

                3 - Select the component (Define Class)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Define Class)

                Note : Stop typing when you see the required component is selected

s8.JPG

Fig. (8) Component Browser – Select the component (Define Class)

After selecting the component click Ok or press ENTER

s9.JPG

Fig. (9) Interaction page - Set the properties and enter the required data as in the image above

s10.JPG

Fig. (10) Goal Desginer - Steps Tree

Select the step (Declare Class Data)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Object Oriented Programming (OOP))

                3 - Select the component (Declare Class Data)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Declare Class Data)

                Note : Stop typing when you see the required component is selected

s11.JPG

Fig. (11) Component Browser – Select the component (Declare Class Data)

After selecting the component click Ok or press ENTER

s12.JPG

Fig. (12) Interaction page - Set the properties and enter the required data as in the image above

s13.JPG

Fig. (13) Goal Desginer - Steps Tree

Select the step (Declare Class Methods)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Object Oriented Programming (OOP))

                3 - Select the component (Declare Class Method)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Declare Class Method)

                Note : Stop typing when you see the required component is selected

s14.JPG

Fig. (14) Component Browser – Select the component (Declare Class Method)

After selecting the component click Ok or press ENTER

s15.JPG

Fig. (15) Interaction page - Set the properties and enter the required data as in the image above

s16.JPG

Fig. (16) Goal Desginer - Steps Tree

Select the step (Declare Class Methods)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Object Oriented Programming (OOP))

                3 - Select the component (Declare Class Method)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Declare Class Method)

                Note : Stop typing when you see the required component is selected

s17.JPG

Fig. (17) Component Browser – Select the component (Declare Class Method)

After selecting the component click Ok or press ENTER

s18.JPG

Fig. (18) Interaction page - Set the properties and enter the required data as in the image above

s19.JPG

Fig. (19) Goal Desginer - Steps Tree

Select the step (Class Methods)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Object Oriented Programming (OOP))

                3 - Select the component (Define Class Method)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Define Class Method)

                Note : Stop typing when you see the required component is selected

s20.JPG

Fig. (20) Component Browser – Select the component (Define Class Method)

After selecting the component click Ok or press ENTER

s21.JPG

Fig. (21) Interaction page - Set the properties and enter the required data as in the image above

s22.JPG

Fig. (22) Goal Desginer - Steps Tree

Select the step (Start Here)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Windows)

                3 - Select the component (Define New Window)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Define New Window)

                Note : Stop typing when you see the required component is selected

s23.JPG

Fig. (23) Component Browser – Select the component (Define New Window)

After selecting the component click Ok or press ENTER

s24.JPG

Fig. (24) Interaction page - Set the properties and enter the required data as in the image above

s25.JPG

Fig. (25) Form Designer

s26.JPG

Fig. (26) Goal Desginer - Steps Tree

Select the step (Window Controls)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Controls)

                3 - Select the component (Button)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Button)

                Note : Stop typing when you see the required component is selected

s27.JPG

Fig. (27) Component Browser – Select the component (Button)

After selecting the component click Ok or press ENTER

s28.JPG

Fig. (28) Interaction page - Set the properties and enter the required data as in the image above

s29.JPG

Fig. (29) Form Designer

s30.JPG

Fig. (30) Goal Desginer - Steps Tree

Select the step (Button Events)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Events)

                3 - Select the component (Button Events)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Button Events)

                Note : Stop typing when you see the required component is selected

s31.JPG

Fig. (31) Component Browser – Select the component (Button Events)

After selecting the component click Ok or press ENTER

s32.JPG

Fig. (32) Interaction page - Set the properties and enter the required data as in the image above

s33.JPG

Fig. (33) Goal Desginer - Steps Tree

Select the step (Define New Window ( MyWindowName ) , Title : "Welcome")

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Windows)

                3 - Select the component (Window Class)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Window Class)

                Note : Stop typing when you see the required component is selected

s34.JPG

Fig. (34) Component Browser – Select the component (Window Class)

After selecting the component click Ok or press ENTER

s35.JPG

Fig. (35) Interaction page - Set the properties and enter the required data as in the image above

s36.JPG

Fig. (36) Interaction page - Set the properties and enter the required data as in the image above

s37.JPG

Fig. (37) Interaction page - Set the properties and enter the required data as in the image above

s38.JPG

Fig. (38) Form Designer

s39.JPG

Fig. (39) Goal Desginer - Steps Tree

Select the step (Class Methods)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Object Oriented Programming (OOP))

                3 - Select the component (Define Class Method)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Define Class Method)

                Note : Stop typing when you see the required component is selected

s40.JPG

Fig. (40) Component Browser – Select the component (Define Class Method)

After selecting the component click Ok or press ENTER

s41.JPG

Fig. (41) Interaction page - Set the properties and enter the required data as in the image above

s42.JPG

Fig. (42) Goal Desginer - Steps Tree

Select the step (Start Here)

We will start now new interaction process to generate new steps to our steps tree.

The slow way (Using Mouse):

                1 - Click Interact to open the components browser

                2 - Select the domain (Windows)

                3 - Select the component (Window Class)

The fast way (Using Keyboard shortcuts):

                1 - Get the component using its name by typing (Window Class)

                Note : Stop typing when you see the required component is selected

s43.JPG

Fig. (43) Component Browser – Select the component (Window Class)

After selecting the component click Ok or press ENTER

s44.JPG

Fig. (44) Interaction page - Set the properties and enter the required data as in the image above

s45.JPG

Fig. (45) Interaction page - Set the properties and enter the required data as in the image above

s46.JPG

Fig. (46) Interaction page - Set the properties and enter the required data as in the image above

s47.JPG

Fig. (47) Goal Desginer - Final Steps Tree

3 - Final Steps Tree

Set Class Name & Window Name

                PWCT-Code Generator: Replace String (MyClassName) with (mysubwindow)

                PWCT-Code Generator: Replace String (MyWindowName) with (&(self:cWindowName))

Class

                Define Class MyClassName

                                Declare Class Data

                                                Data cWindowName Init Value "SubWindowName"

                                Declare Class Methods

                                                Method showwindow

                                                Method closewindow

                                End of Class

                                Class Methods

                                                Define Method showwindow Class MyClassName

                                                                Start Here

                                                                                Define New Window ( MyWindowName ) , Title : "Welcome"

                                                                                                Window Events

                                                                                                Window Properties

                                                                                                Window Controls

                                                                                                                Define New Button ( btnClose ) , Caption : "Close"

                                                                                                                                Button Events

                                                                                                                                                Event: ON CLICK : Action self:closewindow

                                                                                                                                Button Properties

                                                                                                End Of Window

                                                                                                MyWindowName.Center ( )

                                                                                                Activate window

                                                                End of Method (Return 0)

                                                Define Method closewindow Class MyClassName

                                                                Start Here

                                                                                MyWindowName.Release ( )

                                                                End of Method (Return 0)