Difference between revisions of "JGuiGen Lead Script"

From lightwiki
Jump to: navigation, search
(Generating a screen for the Lead table)
m (Reverted edits by Alatokoga (Talk) to last revision by 10.1.1.1)
 
(23 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
Back to [[JGuiGen Demo]]
 
Back to [[JGuiGen Demo]]
  
==== The demo pre-script ====
+
=== The demo pre-script ===
  
 
# ./rec.sh
 
# ./rec.sh
Line 7: Line 7:
 
## cd ~vds/downloads
 
## cd ~vds/downloads
 
## rm -rf jguigen
 
## rm -rf jguigen
 +
## export JAVA_HOME=/opt/j2sdk_nb/j2sdk1.4.2
 +
## chmod 0755 ./runUtil.sh
 
# enter password
 
# enter password
 
# cd ~vds/downloads
 
# cd ~vds/downloads
Line 20: Line 22:
 
# F8 start recording swf
 
# F8 start recording swf
  
==== Generating a screen for the Lead table ====
+
=== Create the Lead table ===
  
 
# sh ./runUtil.sh DatabaseManager
 
# sh ./runUtil.sh DatabaseManager
## type: "... Standalone"
+
## choose the type: "... Standalone"
 
## driver: JGuiGenDb
 
## driver: JGuiGenDb
 
## Ok
 
## Ok
## select * from jguigen_i18n where upper(CLASSNAME ) = 'LEAD'
 
## and make sure that no Lead.properties file is in conf
 
 
# cut and paste new table "Lead"
 
# cut and paste new table "Lead"
 
# cut and paste the index
 
# cut and paste the index
Line 37: Line 37:
 
## lastchangedby char(20) - for sanity and multi user functionality
 
## lastchangedby char(20) - for sanity and multi user functionality
 
## lastchangeddate timestamp default null - for validation and multi user functionality
 
## lastchangeddate timestamp default null - for validation and multi user functionality
 +
# File -> Exit
 +
 +
=== Mark, Check, Describe, Generate, Build ===
 +
 
# ./run.sh JGuiGen
 
# ./run.sh JGuiGen
 
# Starting in the Data Dictionary Menu
 
# Starting in the Data Dictionary Menu
## Mark Tables - place a check mark on the "Process Table" field for your new Lead Table
+
## Create
## Check Data Dictionary, Leave Flags, Run Now
+
## Lead with nothing
## Edit Data Dict ... Select the Lead table
+
## Lead with Telphone mask and Telephone req and reordering with date before telephone, change tooltip for telephone
 +
## updating the info field for class, no icons in menu, changing the number of rows showed
 +
## push the JUnit button
 +
 
 +
## Mark Tables
 +
### choose Lead table
 +
### check "Mark table to be processed"
 +
### information about our leads
 +
### Save
 +
### Exit
 +
## Check Data Dictionary
 +
### Leave Flags
 +
### Run Now
 +
### Browse
 +
### search for "Table: Lead"
 +
## Edit Class Desc
 +
### Select the Lead table
 +
### change number of rows to 6 or 10
 +
### mention coffee cup to my.gif
 +
### Save
 +
### Exit
 +
## Edit Column Desc
 +
### change laf to metal
 +
### show primary key
 +
### show defaults for lead_DATE
 +
### select lead_PHONE
 +
### component -> Telephone
 +
### required field
 +
### the phone number of our lead
 +
### Save
 +
### Exit
 
## Generate Application
 
## Generate Application
 
### Model
 
### Model
 
### Order
 
### Order
 
### Create Java
 
### Create Java
#### i18n
+
#### i18n - y for yes in english can become an S in Spanish for Si Senor
 +
#### All code generated by JGuiGen can run from within a jar, or as part of a Java Web Start application
 
#### testcase generation
 
#### testcase generation
 
##### pops up Lead gui
 
##### pops up Lead gui
Line 55: Line 90:
 
##### checks that the values selected are identical to those saved
 
##### checks that the values selected are identical to those saved
 
# time ./build.sh
 
# time ./build.sh
# ./run.sh com.halepringle.src.Lead
 
  
==== The Lead Demo ====
+
=== Running the Lead GUI ===
  
 +
# ./run.sh com.halepringle.src.Lead
 
# Compile and run the new gui
 
# Compile and run the new gui
 
# time ./build.sh
 
# time ./build.sh
## show out-of-the-box features of the gui
+
# ./run.sh com.halepringle.src.Lead &
## View, Add, Edit, Delete ... right click duplicate
+
# Read errors and messaged about add mode
## resize a column
+
# introduce the id, date, and phone
## drag a colummn
+
# show the phone tool tip
## resize the Lead window
+
# note the red-dashed line around the required field
## Drag the Lead window
+
# Add a lead
## close the window
+
# right click duplicate
## relaunch the window
+
# right click duplicate
## mention your suprise at the saved preferences
+
# right click duplicate
# wash, rinse, repeat ?, ?, ?, and ? showing features
+
# right click duplicate
## Quickly adding a column, such as: ssn, phone, address
+
# delete number 4
## Internationalization
+
# add a different lead
## Hot keys
+
# sort a column
## Change validation error message and Test
+
# right click freq_cnt
## blast the coffee cup
+
# resize a column
## run test scripts against the gui
+
# drag a colummn
## show test script output
+
# resize the Lead window
 +
# Drag the Lead window
 +
# close the window
 +
# relaunch the window
 +
# note the saved preferences
 +
 
 +
=== Adding a Column to the Lead table and GUI ===
 +
# Spend some time on the "Column Edit Desc" screen.  This is the most complicated part of JGuiGen
 +
# Quickly adding a column, such as: ssn, phone, address, name of lead
 +
# Perhaps a third add that goes into the Codes Bank screen. It would be nice to show filling a combo box or creating a radio button.  We might set up a combobox for who the lead is for.
 +
# Internationalization - I've got on my TODO list the task doing a menu to offer to change the locale.  If we put a dozen or so spanish translations back in the I18n file (Even just the button names) this could be a very quick - change to Spanish - see screen change - change back to English
 +
# Hot keys
 +
# Accessibility - If we can find something that speaks as the cursor moves this would be neat.  If you edit Lead.java down in the main() there is a boolean you can toggle for A11y.  If it is set to true you get a second screen that shows what the mouse cursor is moving over.
 +
# Change validation error message and Test
 +
# blast the coffee cup
 +
# run test scripts against the gui
 +
# show test script output
 
# launch eclipse
 
# launch eclipse
 +
# Edit JGuiGenIni.xml file and point to the MySQL database and have the demo continue to work
 +
# Show the Add User Screen - Touch on getting access to database through LDAP which mean user ane and password to the database are encrypted on the local machine.
 +
# I would love to generate a JGuiGen Screen without the scrolling table, find, etc. and take one of the JTree demos I have which shows a tree on the left and an edit screen on the right.  Then we could create a demo where you click on a tree leaf and the JGuiGen Edit screen shows in the right panel. If we did the "Person Lead was for" combo box we could have a tree where the major break is the person, leaf nodes are the leads.  Click on a lead in the tree and see the edit screen come up on the right.  Again once it is created it would be a 15 second demo but it shows that JGuiGen can be used to create a simple edit screen without a lot of the "Full Application" bells and whistles.

Latest revision as of 16:11, 24 November 2010

Back to JGuiGen Demo

The demo pre-script

  1. ./rec.sh
    1. rm -rf ~vds/.java/
    2. cd ~vds/downloads
    3. rm -rf jguigen
    4. export JAVA_HOME=/opt/j2sdk_nb/j2sdk1.4.2
    5. chmod 0755 ./runUtil.sh
  2. enter password
  3. cd ~vds/downloads
  4. If you have not checked out the code then:
    1. svn checkout https://svn.sourceforge.net/svnroot/jguigen/JGuiGen/trunk/ jguigen
    2. cd jguigen
    3. unzip JGuiGenMisc.zip
    4. time ./build.sh
  5. hide the panel
  6. xview JGuiGen_Screenshot.jpg & - Elegant CRUD
  7. maximize it
  8. rec -c 1 -d /dev/dsp -t wav -r 44100 - | lame -h - junk.mp3
  9. F8 start recording swf

Create the Lead table

  1. sh ./runUtil.sh DatabaseManager
    1. choose the type: "... Standalone"
    2. driver: JGuiGenDb
    3. Ok
  2. cut and paste new table "Lead"
  3. cut and paste the index
  4. discuss the table columns
    1. lead_ID integer identity
    2. lead_DATE timestamp
    3. lead_PHONE char(20)
    4. isremoved smallint - the deleted flag
    5. lastchangedby char(20) - for sanity and multi user functionality
    6. lastchangeddate timestamp default null - for validation and multi user functionality
  5. File -> Exit

Mark, Check, Describe, Generate, Build

  1. ./run.sh JGuiGen
  2. Starting in the Data Dictionary Menu
    1. Create
    2. Lead with nothing
    3. Lead with Telphone mask and Telephone req and reordering with date before telephone, change tooltip for telephone
    4. updating the info field for class, no icons in menu, changing the number of rows showed
    5. push the JUnit button
    1. Mark Tables
      1. choose Lead table
      2. check "Mark table to be processed"
      3. information about our leads
      4. Save
      5. Exit
    2. Check Data Dictionary
      1. Leave Flags
      2. Run Now
      3. Browse
      4. search for "Table: Lead"
    3. Edit Class Desc
      1. Select the Lead table
      2. change number of rows to 6 or 10
      3. mention coffee cup to my.gif
      4. Save
      5. Exit
    4. Edit Column Desc
      1. change laf to metal
      2. show primary key
      3. show defaults for lead_DATE
      4. select lead_PHONE
      5. component -> Telephone
      6. required field
      7. the phone number of our lead
      8. Save
      9. Exit
    5. Generate Application
      1. Model
      2. Order
      3. Create Java
        1. i18n - y for yes in english can become an S in Spanish for Si Senor
        2. All code generated by JGuiGen can run from within a jar, or as part of a Java Web Start application
        3. testcase generation
          1. pops up Lead gui
          2. saves a new lead
          3. close Lead gui
          4. relaunches Lead gui
          5. finds the row it add
          6. checks that the values selected are identical to those saved
  1. time ./build.sh

Running the Lead GUI

  1. ./run.sh com.halepringle.src.Lead
  2. Compile and run the new gui
  3. time ./build.sh
  4. ./run.sh com.halepringle.src.Lead &
  5. Read errors and messaged about add mode
  6. introduce the id, date, and phone
  7. show the phone tool tip
  8. note the red-dashed line around the required field
  9. Add a lead
  10. right click duplicate
  11. right click duplicate
  12. right click duplicate
  13. right click duplicate
  14. delete number 4
  15. add a different lead
  16. sort a column
  17. right click freq_cnt
  18. resize a column
  19. drag a colummn
  20. resize the Lead window
  21. Drag the Lead window
  22. close the window
  23. relaunch the window
  24. note the saved preferences

Adding a Column to the Lead table and GUI

  1. Spend some time on the "Column Edit Desc" screen. This is the most complicated part of JGuiGen
  2. Quickly adding a column, such as: ssn, phone, address, name of lead
  3. Perhaps a third add that goes into the Codes Bank screen. It would be nice to show filling a combo box or creating a radio button. We might set up a combobox for who the lead is for.
  4. Internationalization - I've got on my TODO list the task doing a menu to offer to change the locale. If we put a dozen or so spanish translations back in the I18n file (Even just the button names) this could be a very quick - change to Spanish - see screen change - change back to English
  5. Hot keys
  6. Accessibility - If we can find something that speaks as the cursor moves this would be neat. If you edit Lead.java down in the main() there is a boolean you can toggle for A11y. If it is set to true you get a second screen that shows what the mouse cursor is moving over.
  7. Change validation error message and Test
  8. blast the coffee cup
  9. run test scripts against the gui
  10. show test script output
  11. launch eclipse
  12. Edit JGuiGenIni.xml file and point to the MySQL database and have the demo continue to work
  13. Show the Add User Screen - Touch on getting access to database through LDAP which mean user ane and password to the database are encrypted on the local machine.
  14. I would love to generate a JGuiGen Screen without the scrolling table, find, etc. and take one of the JTree demos I have which shows a tree on the left and an edit screen on the right. Then we could create a demo where you click on a tree leaf and the JGuiGen Edit screen shows in the right panel. If we did the "Person Lead was for" combo box we could have a tree where the major break is the person, leaf nodes are the leads. Click on a lead in the tree and see the edit screen come up on the right. Again once it is created it would be a 15 second demo but it shows that JGuiGen can be used to create a simple edit screen without a lot of the "Full Application" bells and whistles.