diff options
Diffstat (limited to 'src/bin/pgaccess/pga-rad.html')
| -rw-r--r-- | src/bin/pgaccess/pga-rad.html | 231 |
1 files changed, 49 insertions, 182 deletions
diff --git a/src/bin/pgaccess/pga-rad.html b/src/bin/pgaccess/pga-rad.html index af4160b0c7..55d40046c2 100644 --- a/src/bin/pgaccess/pga-rad.html +++ b/src/bin/pgaccess/pga-rad.html @@ -1,198 +1,65 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> <HTML> <HEAD> - <TITLE></TITLE> - <META NAME="GENERATOR" CONTENT="Mozilla/3.04Gold (X11; I; Linux 2.0.32 i586) [Netscape]"> + <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> + <META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (X11; I; Linux 2.0.32 i586) [Netscape]"> </HEAD> <BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000EF" VLINK="#51188E" ALINK="#FF0000"> -<H1>PgAccess - Scripts and Forms +<H1> +PgAccess - Scripts and Forms <HR WIDTH="100%"></H1> - -<P>Beginning with 0.70 version, I have introduced in PgAccess two new modules -for operating with scripts and forms.</P> - -<P> This would give to PgAccess the power of creating -application directly into PgAccess, defining new modules, procedures, forms -and possibly making it a rapid development tool for PostgreSQL. The "scripts" -and "forms" modules are using two new tables called pga_forms -and pga_scripts. PgAccess take care of creating them if user is opening -a new database and grant ALL permissions on them to PUBLIC. <BR> - Both scripts and forms are containing in fact sources -of code written in Tcl/Tk and when the user has choose to "open" -one of them, either by double-clicking in the main window or pressing the -"Open" button PgAccess is searching for them in pga_forms or -pga_scripts table, get the code and simply "<B>eval</B>" it !<BR> - Of course, when Designing a script, a simple text editor -is opened and text is saved as is in pga_scripts table. When "designing" -a form, a "form editor" that would be very similar with "Visual -Tcl" would be invoked.</P> - -<P> This mechanism and the extremely versatile scripting -mode of Tcl/Tk would give PgAccess a great power for creating end user -application using PosgreSQL. The most important thing is that the user -could call procedures and functions that I have used for building up PgAccess -!</P> - -<H3>Forms</H3> - -<P> Forms are special Tcl/Tk source code that is used -for creating windows and placing widgets inside it. When Tcl/Tk is "eval" -them, a new window appears, with buttons as defined that could call "user -defined scripts", "user defined procedures" or "internal -PgAccess procedures".<BR> - For the moment, 0.70 version of PgAccess does not have -a module for designing forms. It is intended to make an interface to the -most powerful program of designing applications under Tcl/Tk , Visual Tcl -, so it could handle forms designed to be used inside PgAccess.<BR> - Forms can hold all the widgets allowed in Tcl/Tk , buttons, +Beginning with 0.70 version, I have introduced in PgAccess two new modules +for operating with scripts and forms. + +<P> This would give to PgAccess the power of creating application +directly into PgAccess, defining new modules, procedures, forms and possibly +making it a rapid development tool for PostgreSQL. The "scripts" and "forms" +modules are using two new tables called pga_forms and pga_scripts. PgAccess +take care of creating them if user is opening a new database and grant +ALL permissions on them to PUBLIC. +<BR> +<BR> Of course, when Designing a script, a simple text editor +is opened and text is saved as is in pga_scripts table. When "designing" +a form, a "form editor" that would be very similar with "Visual Tcl" is +invoked. + +<P> This mechanism and the extremely versatile scripting mode +of Tcl/Tk would give PgAccess a great power for creating end user application +using PosgreSQL. The most important thing is that the user could call procedures +and functions that I have used for building up PgAccess ! +<H3> +Forms</H3> + Forms are used for creating windows and placing widgets inside +it. When PgAccess interpreet them, a new window appear, with buttons as +defined that could call "user defined scripts", "user defined procedures" +or "internal PgAccess procedures". +<BR> Forms can hold all the widgets allowed in Tcl/Tk , buttons, check-boxes, radio-buttons, list-boxes, frames, canvases, etc. With these forms, you can control your application so PgAccess would become just a -"shell", a startup point for you applications.</P> - -<H3>Scripts</H3> - -<P> Scripts are normal Tcl/Tk code that is interpreted -by Tcl/Tk. You can define your own procedures inside a script called "Library" -for example. You can call your procedures from within another script, from -another procedure.<BR> - The most important thing is that you have total access +"shell", a startup point for you applications. See the <A HREF="forms.html">special +section concerning forms.</A> +<H3> +Scripts</H3> + Scripts are normal Tcl/Tk code that is interpreted by Tcl/Tk. +You can define your own procedures inside a script called "Library" for +example. You can call your procedures from within another script, from +another procedure. +<BR> The most important thing is that you have total access to the PgAccess's core of functions and procedures used by me in building PgAccess as an application. Just write <B><TT><FONT COLOR="#000080">open_table -"Your sample table"</FONT></TT></B> and you'll see the result.<BR> - If you are writing a script called "Autoexec" -then it will be executed every time the database is opened. You can put -inside different commands that you want to be executed such as : running -scripts that would define your own procedures such as <B><TT><FONT COLOR="#000080">execute_script -"My own procedure library"</FONT></TT></B> or open a form with -<B><TT><FONT COLOR="#000080">open_form "Main window with menu buttons"</FONT></TT></B> -, and so on.</P> +"Your sample table"</FONT></TT></B> and you'll see the result. +<BR> If you are writing a script called "Autoexec" then it +will be executed every time the database is opened. You can put inside +different commands that you want to be executed such as : running scripts +that would define your own procedures such as <B><TT><FONT COLOR="#000080">execute_script +"My own procedure library"</FONT></TT></B> or open a form with <B><TT><FONT COLOR="#000080">open_form +"Main window with menu buttons"</FONT></TT></B> , and so on. <P> -<HR WIDTH="100%"></P> - -<H2>Examples :</H2> - -<P>We would like to give you some examples for using forms and scripts. -First of all, get your PgAccess 0.70 version NOW !</P> - -<P><IMG SRC="a_right.gif" HEIGHT=20 WIDTH=20> Define your first -form. Remember, the form design module hasn't arrived yet :-( , so you -will have to define your first form using an action query :<BR> -1. Click on Query tab and press "New" button<BR> -2. Enter "<TT>Generate my first form</TT>" in Query name field<BR> -3. Copy and paste from your browser window into query definition area the -next text :<BR> -<BR> -<TT>insert into pga_forms values('My first form',' set base .pga_win_1; -if {[winfo exists $base]} { wm deiconify $base; return }; toplevel $base --class Toplevel; wm focusmodel $base passive; wm geometry $base 395x389+325+188; -wm maxsize $base 1009 738; wm minsize $base 1 1; wm overrideredirect $base -0; wm resizable $base 1 1; wm deiconify $base; wm title $base "User -defined Form No.1"; button $base.b1 -command {execute_script "My -first script"} -text "My first button" ; button $base.bexit --command {destroy [focus]} -padx 9 -pady 3 -text Exit ; place $base.bexit --x 340 -y 355 -anchor nw -bordermode ignore ; place $base.b1 -x 10 -y 10 --anchor nw;'); </TT></P> - -<P>4. Press "Save query definition button" and then "Close"<BR> -5. In the mai window, select by clicking the query "Generate my first -form" and press "Open" button.</P> - -<P>Your query must have been executed without errors! If you will check -now the "Forms" tab, you will find there your first form. Press -"Open" button and enjoy it! For the moment, if you will press -"My first button" you will get an error message. Of course : -we haven't yet defined our first script ! </P> - -<P><IMG SRC="a_right.gif" HEIGHT=20 WIDTH=20> Defining our first -script :<BR> -1. Click on Scripts tab and pres "New" button<BR> -2. Enter "My first script" in script's name field<BR> -3. Enter the body as the script the following statements :<BR> -<BR> -<TT>MsgBox "Warning" "PgAccess unleashed!"<BR> -open_table pga_scripts<BR> -<BR> -</TT>4. Press "Save" button then "Cancel"</P> - -<P>It's now the time to define our first library script. I am defining -not because I need it. I could write directly in "My first script" -the instructions for creating that warning window but I only wanted to -show you how you can mix PgAccess script execution with Tcl/Tk code and -so on.</P> - -<P><IMG SRC="a_right.gif" HEIGHT=20 WIDTH=20> Define our first -library that will contain your "user defined" Tcl/Tk procedures -and functions :<BR> -1. Click on Scripts tab and pres "New" button<BR> -2. Enter "My first library" in script's name field<BR> -3. Enter the body of the script the following statements :<BR> -<BR> -<TT>proc MsgBox {title msg} {<BR> - tk_messageBox -title $title -message -$msg<BR> -}<BR> -<BR> -</TT>4. Press "Save" button then "Cancel"</P> - -<P><IMG SRC="file:/home/teo/a_right.gif" HEIGHT=20 WIDTH=20> Define -our first autoexec script that will contain commands that will be executed -when opening database :<BR> -1. Click on Scripts tab and pres "New" button<BR> -2. Enter "Autoexec" in script's name field<BR> -3. Enter the body of the script the following statements :<BR> -<BR> -<TT>execute_script "My first library"<BR> -open_form "My first form"<BR> -<BR> -</TT>4. Press "Save" button then "Cancel"</P> - -<P>Everything is OK now! You will have to exit PgAccess and enter it again -opening the same database ! Voila , your first form will pop-up on the -screen, a message box is displayed and after clicking Ok button the table -pga_scripts will be opened in table viewer revealing what's inside ! With -this occasion I have shown how you could open in table view mode a "pga_..." -system table that is hidden by PgAccess in main view mode!</P> - -<P>I am stopping here, asking you to try this new features and sending -me as more feed-backs as you can! What do you think about this new features -? How would you like to be developed PgAccess in future ? In this -moment, I am working in recoding the main part of PgAccess in order to -give to the user more "system" functions that would help him -creating new applications very easy.<BR> -<BR> -Remember : I'm waiting your messages at <A HREF="mailto:teo@flex.ro">teo@flex.ro</A> -</P> +<HR WIDTH="100%"> +<BR>Remember : I'm waiting your messages at <A HREF="mailto:teo@flex.ro">teo@flex.ro</A> <P> -<HR WIDTH="50%"></P> - -<P>You will also have the ability of hiding the main window of PgAccess -at the beginning of "Autoexec" script execution and showing it -before destroying "My first form". For this example, delete the -previously defined "My first form" and create it with another -action query with this code :<BR> -<BR> -<TT>insert into pga_forms values('My first form',' set base .pga_win_1; -if {[winfo exists $base]} { wm deiconify $base; return }; toplevel $base --class Toplevel; wm focusmodel $base passive; wm geometry $base 395x389+325+188; -wm maxsize $base 1009 738; wm minsize $base 1 1; wm overrideredirect $base -0; wm resizable $base 1 1; wm deiconify $base; wm title $base "User -defined Form No.1"; button $base.b1 -command {execute_script "My -first script"} -text "My first button" ; button $base.bexit --command {Window show .dw ; destroy [focus]} -padx 9 -pady 3 -text Exit -; place $base.bexit -x 340 -y 355 -anchor nw -bordermode ignore ; place -$base.b1 -x 10 -y 10 -anchor nw;'); <BR> -<BR> -</TT>This new one is just showing main window (.dw) before destroying the -"user defined window" . <BR> -Also make "Autoexec" script to show like this :<BR> -<BR> -<TT>execute_script "My first library"<BR> -Window hide .dw<BR> -open_form "My first form"</TT><BR> -</P> - +<HR WIDTH="50%"> </BODY> </HTML> |
