JGuiGen Lead Script

From lightwiki
Jump to: navigation, search

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.