]> granicus.if.org Git - postgresql/commitdiff
Bring pgaccess up to 0.82 - last update before release
authorMarc G. Fournier <scrappy@hub.org>
Mon, 2 Mar 1998 03:04:26 +0000 (03:04 +0000)
committerMarc G. Fournier <scrappy@hub.org>
Mon, 2 Mar 1998 03:04:26 +0000 (03:04 +0000)
src/bin/pgaccess/README.pga
src/bin/pgaccess/forms.html
src/bin/pgaccess/index.html
src/bin/pgaccess/pga-rad.html
src/bin/pgaccess/pgaccess.tcl

index 3f798fc9b39ef9440f0cd548586e34e4208f867d..ef157061367990e58909ad5e0bed8ec94898e582 100644 (file)
@@ -24,7 +24,7 @@ PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 
 
 
-PGACCESS 0.81 1 March 1998
+PGACCESS 0.82 1 March 1998
 ================================
 I dedicate this program to my little 4 year daughter Ana-Maria and my wife
 for their understanding. I hope they will forgive me for spending so many
index 12fc3f0e8ad34ef7befd1b745e0a3c755a2b761f..93308cd99ddb559b2e16bed4e5e4133cc21d00c8 100644 (file)
-<!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="#FFEBCD" LINK="#0000EF" VLINK="#51188E" ALINK="#FF0000">
 
-<H1>FORMS</H1>
+<H1>
+FORMS</H1>
 
-<P>
-<HR WIDTH="100%"></P>
+<HR WIDTH="100%">
 
-<P>This version (0.81) of PgAccess introduce the visual form builder.</P>
+<P>This version (0.82) of PgAccess introduce the visual form builder.
 
 <P>For the moment, it has only some basic widgets : labels, entries, buttons
-, listboxes , checkboxes and radiobuttons.</P>
+, listboxes , checkboxes and radiobuttons.
 
 <P>Also there is a query widget that allows you yo have access to a query
-results.</P>
+results.
 
 <P>In a manner very similar with Visual Tcl or Visual Basic, the user must
 select a widget from the toolbar and drags on the canvas the rectangle
 that would define the widget. It can also specify some attributes in a
 separate window. Renaming, resizing items are possible modifying parameters
 in attribute window. Do not forget to press Enter in the edit field after
-changing a value in order to be accepted.</P>
+changing a value in order to be accepted.
 
 <P>You can also move items by dragging them or delete them by pressing
-Del key.</P>
+Del key.
 
 <P>In attribute window, there are some fields named <B><TT><FONT SIZE=+1>Command
-</FONT></TT></B>and <B><TT><FONT SIZE=+1>Variable</FONT></TT></B>.</P>
+</FONT></TT></B>and <B><TT><FONT SIZE=+1>Variable</FONT></TT></B>.
 
 <P>The field <B><TT><FONT SIZE=+1>Command </FONT></TT></B>have meaning
 only for Button widgets and holds the command that will be invoked when
-the button is pressed.</P>
+the button is pressed.
 
 <P>The field <B><TT><FONT SIZE=+1>Variable </FONT></TT></B>have meaning
 only for EditField , Label widgets and checkboxes and it is the name of
 the global variable that will hold the value for that widget. For checkboxes
-the values are 1 or 0.</P>
+the values are 1 or 0.
 
 <P>In order to make a simple test, put an entry field and set it's variable
-to <B>v1</B> and a button who's command is &quot;set v1 whisky&quot;. Press
-the button &quot;Test form&quot; and click on the button. In that entry
-should appear whisky. <BR>
-Another test is defining in Script module a script called &quot;My first
-script&quot; having the following commands:<BR>
-<TT><FONT SIZE=+1>tk_messageBox -title Warning -message &quot;This is my
-first message!&quot;<BR>
-</FONT></TT>and then define a button who's command is <B><TT><FONT SIZE=+1>execute_script
-&quot;My first script&quot;</FONT></TT></B>.</P>
-
-<H2>Database manipulation</H2>
-
-<P>Let's presume that our form have the internal name <B><TT>mf </TT></B>(my
-form). He wil be referred inside the Tcl/Tk source as <B><TT>.mf<BR>
-</TT></B>If you want to close the form in run-time you have to issue the
-command <B><TT>destroy .mf</TT></B></P>
-
-<P>Also, any widget will have the name prefixed by <B><TT>.mf </TT></B>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;We
-will have <B><TT>.mf.button1</TT></B> or <B><TT>.mf.listbox1</TT></B> .</P>
+to <B>v1</B> and a button who's command is "set v1 whisky". Press the button
+"Test form" and click on the button. In that entry should appear whisky.
+<BR>Another test is defining in Script module a script called "My first
+script" having the following commands:
+<BR><TT><FONT SIZE=+1>tk_messageBox -title Warning -message "This is my
+first message!"</FONT></TT>
+<BR>and then define a button who's command is <B><TT><FONT SIZE=+1>execute_script
+"My first script"</FONT></TT></B>.
+<H2>
+Database manipulation</H2>
+Let's presume that our form have the internal name <B><TT>mf </TT></B>(my
+form). He wil be referred inside the Tcl/Tk source as <B><TT>.mf</TT></B>
+<BR>If you want to close the form in run-time you have to issue the command
+<B><TT>destroy .mf</TT></B>
+
+<P>Also, any widget will have the name prefixed by <B><TT>.mf&nbsp;</TT></B>&nbsp;&nbsp;&nbsp;&nbsp;
+We will have <B><TT>.mf.button1</TT></B> or <B><TT>.mf.listbox1</TT></B>
+.
 
 <P>We can name the query widget <B><TT>qry</TT></B> for example. The complete
-name will be <B><TT>.mf.qry</TT></B> then.<BR>
-The <B><TT>Command </TT></B>property of the query widget must contain the
-SQL command that will be executed.<BR>
-When the form will be in run-time, automatically you will have acces to
-the following methods :</P>
+name will be <B><TT>.mf.qry</TT></B> then.
+<BR>The <B><TT>Command </TT></B>property of the query widget must contain
+the SQL command that will be executed.
+<BR>When the form will be in run-time, automatically you will have acces
+to the following methods :
 
 <P><TT>.mf.qry:execute</TT> - opens the connection and execute the query
-(returns nothing)<BR>
-<TT>.mf.qry:nrecords</TT> - returns the number of records in the selected
-query<BR>
-<TT>.mf.qry:fields</TT> - returns a list of the fields in the result set<BR>
-<TT>.mf.qry:movefirst</TT> - move the cursor to the first record in the
-recordset<BR>
-<TT>.mf.qry:movelast , .mf.qry:movenext , .mf.qry:moveprevious </TT>- moves
-the cursor <BR>
-<TT>.mf.qry:updatecontrols</TT> - update the variables inside the designed
-form that have a particular name (I'll explain later)<BR>
-<TT>.mf.qry:close</TT> - close the connection (<B><FONT COLOR="#FF0000">if
-you don't close the query result, you will loose memory</FONT></B>)</P>
+(returns nothing)
+<BR><TT>.mf.qry:nrecords</TT> - returns the number of records in the selected
+query
+<BR><TT>.mf.qry:fields</TT> - returns a list of the fields in the result
+set
+<BR><TT>.mf.qry:movefirst</TT> - move the cursor to the first record in
+the recordset
+<BR><TT>.mf.qry:movelast , .mf.qry:movenext , .mf.qry:moveprevious </TT>-
+moves the cursor
+<BR><TT>.mf.qry:updatecontrols</TT> - update the variables inside the designed
+form that have a particular name (I'll explain later)
+<BR><TT>.mf.qry:close</TT> - close the connection (<B><FONT COLOR="#FF0000">if
+you don't close the query result, you will loose memory</FONT></B>)
 
 <P>If you want to bound some controls to the fields of the recordset, you
-will have to name their associate variable like that :</P>
+will have to name their associate variable like that :
 
-<P><TT>.mf.qry.salary</TT> to get the &quot;salary&quot; field , or <TT>.mf.qry.name</TT>
-to get the &quot;name&quot; field.</P>
+<P><TT>.mf.qry.salary</TT> to get the "salary" field , or <TT>.mf.qry.name</TT>
+to get the "name" field.
 
 <P>It's simple, isn't it ? It's just like a new widget that have some properties
-and methods that can be accesed.<BR>
-Also, the name convention is just like in Tcl/Tk.</P>
+and methods that can be accesed.
+<BR>Also, the name convention is just like in Tcl/Tk.
+
+<P>In order to avoid naming user defined forms with&nbsp; a particular
+name of another PgAccess form, I would recommend naming them as udf0, udf1
+(user defined form 0 , 1 )
 
 <P>
-<HR WIDTH="25%"></P>
+<HR WIDTH="25%">
 
 <P>Please feel free to send me your oppinion at <B>teo@flex.ro</B> on forms
-designing and usage.<BR>
-</P>
-
+designing and usage.
 </BODY>
 </HTML>
index 9456d4543e8526d908225d93455899a3578c1245..b9786719d8cc444f3c49d416b8580dcb45ed5bee 100644 (file)
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
 <HTML>
 <HEAD>
-   <TITLE>PgAccess - a Tcl/Tk PostgreSQL interface</TITLE>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
-   <META NAME="GENERATOR" CONTENT="Mozilla/3.04Gold (X11; I; Linux 2.0.32 i586) [Netscape]">
+   <META NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (X11; I; Linux 2.0.32 i586) [Netscape]">
+   <TITLE>PgAccess - a Tcl/Tk PostgreSQL interface</TITLE>
 </HEAD>
 <BODY BGCOLOR="#FFFFFF">
 
-<H1>PgAccess - a database management tool for <A HREF="http://www.postgreSQL.org">PostgreSQL</A></H1>
+<H1>
+PgAccess - a database management tool for <A HREF="http://www.postgreSQL.org">PostgreSQL</A></H1>
 
-<P>
-<HR></P>
+<HR>
 
 <P>This program is protected by the following <A HREF="copyright.html">copyright</A>
-</P>
-
-<LI><A HREF="pgaccess-0.81.tar.gz">Download the last version of Pgaccess
-(press shift and click this link)</A>.</LI>
+<LI>
+<A HREF="pgaccess-0.82.tar.gz">Download the last version of Pgaccess (press
+shift and click this link)</A>.</LI>
 
-<P>Latest version of PgAccess is 0.81 , 1 March 1998 ! </P>
 
+<P>Latest version of PgAccess is 0.82 , 1 March 1998 !
+<BR>&nbsp;
 <CENTER><TABLE BORDER=3 CELLSPACING=0 CELLPADDING=0 WIDTH="100%" BGCOLOR="#FFB6C1" >
 <TR>
 <TD>
-<CENTER><P><BR>
-<B><FONT SIZE=+2>PgAccess can now design <A HREF="forms.html">Forms</A></FONT></B>,
-<B><FONT SIZE=+2><A HREF="pga-rad.html">Reports and Scripts</A></FONT></B></P></CENTER>
+<CENTER></CENTER>
+
+<CENTER><B><FONT SIZE=+2>PgAccess can now design <A HREF="forms.html">Forms</A></FONT></B>,
+<B><FONT SIZE=+2><A HREF="pga-rad.html">Reports and Scripts</A></FONT></B></CENTER>
 </TD>
 </TR>
 </TABLE></CENTER>
-
-<P>I think that there were some problems loading libpgtcl library. <BR>
-I invite you to read a <A HREF="index.html#libpgtcl">special section concerning
-<B>libpgtcl</B></A> </P>
-
-<H3><FONT COLOR="#191970">What does PgAccess now!</FONT></H3>
-
-<P>Here are some images from PgAccess windows : <A HREF="pic-pga-1.gif">Main
+I think that there were some problems loading libpgtcl library.
+<BR>I invite you to read a <A HREF="index.html#libpgtcl">special section
+concerning <B>libpgtcl</B></A>
+<H3>
+<FONT COLOR="#191970">What does PgAccess now!</FONT></H3>
+Here are some images from PgAccess windows : <A HREF="pic-pga-1.gif">Main
 window </A>, <A HREF="pic-pga-2.gif">table builder </A>, <A HREF="pic-pga-4.gif">table(query)
-view </A>, <A HREF="pic-pga-3.gif">visual query builder </A>. </P>
-
-<P><B>Tables</B> <BR>
-- opening tables for viewing, max 200 records (changed by preferences menu)
-<BR>
-- column resizing, dragging the vertical grid line (better in table space
-rather than in the table header) <BR>
-- text wrap in cells - layout saved for every table <BR>
-- import/export to external files (SDF,CSV) <BR>
-- filter capabilities (enter filter like (price&gt;3.14) <BR>
-- sort order capabilities (enter manually the sort field(s)) <BR>
-- editing in place <BR>
-- improved table generator assistant <BR>
-- improved field editing <BR>
-<B>Queries</B> <BR>
-- define , edit and stores &quot;user defined queries&quot; <BR>
-- store queries as views <BR>
-- execution of queries <BR>
-- viewing of select type queries result <BR>
-- query deleting and renaming <BR>
-- <B><BLINK><FONT COLOR="#FF0000">NEW !!!</FONT></BLINK></B> Visual query
-builder with drag &amp; drop capabilities. For any of you who had installed
-the Tcl/Tk plugin for Netscape Navigator, you can see it at work <A HREF="qbtclet.html">clicking
-here</A> <BR>
-<B>Sequences</B> <BR>
-- defines sequences, delete them and inspect them <BR>
-<B>Functions</B> <BR>
-- define, inspect and delete functions in SQL language <BR>
-<B>Reports<BR>
-</B>- design and display simple reports from tables<BR>
-- fields and labels, font changing, style and size<BR>
-- saves and loads report description from database<BR>
-- show report previews, sample postscript output file<BR>
-<B>Forms<BR>
-</B>- open user defined forms<BR>
-- form design module available<BR>
-- query widget available, controls bound to query results<BR>
-- <A HREF="forms.html">click here</A> for a description of forms and how
-they can be used<BR>
-<B>Scripts<BR>
-</B>- define, modify and call user defined scripts<BR>
-Here is <A HREF="pga-rad.html">a special section concerning forms and scripts</A>
-.</P>
-
-<P>On the TODO list! <BR>
-- table design (add new fields, renaming, etc.) <BR>
-<BR>
-&nbsp; </P>
+view </A>, <A HREF="pic-pga-3.gif">visual query builder </A>.
+
+<P><B>Tables</B>
+<BR>- opening tables for viewing, max 200 records (changed by preferences
+menu)
+<BR>- column resizing, dragging the vertical grid line (better in table
+space rather than in the table header)
+<BR>- text wrap in cells - layout saved for every table
+<BR>- import/export to external files (SDF,CSV)
+<BR>- filter capabilities (enter filter like (price>3.14)
+<BR>- sort order capabilities (enter manually the sort field(s))
+<BR>- editing in place
+<BR>- improved table generator assistant
+<BR>- improved field editing
+<BR><B>Queries</B>
+<BR>- define , edit and stores "user defined queries"
+<BR>- store queries as views
+<BR>- execution of queries
+<BR>- viewing of select type queries result
+<BR>- query deleting and renaming
+<BR>- <B><BLINK><FONT COLOR="#FF0000">NEW !!!</FONT></BLINK></B> Visual
+query builder with drag &amp; drop capabilities. For any of you who had
+installed the Tcl/Tk plugin for Netscape Navigator, you can see it at work
+<A HREF="qbtclet.html">clicking here</A>
+<BR><B>Sequences</B>
+<BR>- defines sequences, delete them and inspect them
+<BR><B>Functions</B>
+<BR>- define, inspect and delete functions in SQL language
+<BR><B>Reports</B>
+<BR>- design and display simple reports from tables
+<BR>- fields and labels, font changing, style and size
+<BR>- saves and loads report description from database
+<BR>- show report previews, sample postscript output file
+<BR><B>Forms</B>
+<BR>- open user defined forms
+<BR>- form design module available
+<BR>- query widget available, controls bound to query results
+<BR>- <A HREF="forms.html">click here</A> for a description of forms and
+how they can be used
+<BR><B>Scripts</B>
+<BR>- define, modify and call user defined scripts
+<BR>Here is <A HREF="pga-rad.html">a special section concerning forms and
+scripts</A> .
+
+<P>On the TODO list!
+<BR>- table design (add new fields, renaming, etc.)
+
+<P>&nbsp;
 
 <P>If you have any comment, suggestion for improvements, please feel free
-to e-mail to : <A HREF="mailto:teo@flex.ro">teo@flex.ro&nbsp;</A> <BR>
-</P>
+to e-mail to : <A HREF="mailto:teo@flex.ro">teo@flex.ro&nbsp;</A>
 
 <P><B><FONT COLOR="#FF1493"><FONT SIZE=+2>Mailing list for PgAccess </FONT></FONT></B><A HREF="maillist.html">Here
-you will find how to subscribe to this mailing list</A>.</P>
+you will find how to subscribe to this mailing list</A>.
 
 <P>
-<HR></P>
-
-<H1>More information about libgtcl</H1>
-
-<P>Also, you will need the PostgreSQL to Tcl interface library, lined as
-a Tcl/Tk 'load'-able module. It is called libpgtcl and the source is located
+<HR>
+<H1>
+More information about libgtcl</H1>
+Also, you will need the PostgreSQL to Tcl interface library, lined as a
+Tcl/Tk 'load'-able module. It is called libpgtcl and the source is located
 in the PostgreSQL directory /src/interfaces/libpgtcl. Specifically, you
 will need a libpgtcl library that is 'load'-able from Tcl/Tk. This is technically
 different from an ordinary PostgreSQL loadable object file, because libpgtcl
 is a collection of object files. Under Linux, this is called libpgtcl.so.
-<BR>
-You can download <A HREF="libpgtcl.so">from here </A>a version already
+<BR>You can download <A HREF="libpgtcl.so">from here </A>a version already
 compiled for Linux i386 systems. Just copy libpgtcl.so into your system
 library director (/usr/lib) and go for it. One of the solutions is to remove
 from the source the line containing <B>load libpgtcl.so </B>and to load
 pgaccess.tcl not with wish, but with pgwish (or wishpg) that wish that
-was linked with libpgtcl library! </P>
+was linked with libpgtcl library!
 
 <P>If you have installed RedHat 5.0, you should get the last distribution
 kit of postgreSQL and compile it from scratch. RedHat 5.0 is using some
 new versions of libraries and you have to compile and install again at
-least <B>libpq </B>and <B><TT>libpgtcl </TT></B>libraries.</P>
-
-<P>However, the application should work without problems! </P>
+least <B>libpq </B>and <B><TT>libpgtcl </TT></B>libraries.
 
+<P>However, the application should work without problems!
 </BODY>
 </HTML>
index af4160b0c74f185509e7136adc128b7108a6644e..55d40046c26eedb2280eb342c4e6ea2ab69631de 100644 (file)
-<!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&nbsp;
 <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>&nbsp;&nbsp;&nbsp;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 &quot;scripts&quot;
-and &quot;forms&quot; 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>
-&nbsp;&nbsp;&nbsp;Both scripts and forms are containing in fact sources
-of code written in Tcl/Tk and when the user has choose to &quot;open&quot;
-one of them, either by double-clicking in the main window or pressing the
-&quot;Open&quot; button PgAccess is searching for them in pga_forms or
-pga_scripts table, get the code and simply &quot;<B>eval</B>&quot; it !<BR>
-&nbsp;&nbsp;&nbsp;Of course, when Designing a script, a simple text editor
-is opened and text is saved as is in pga_scripts table. When &quot;designing&quot;
-a form, a &quot;form editor&quot; that would be very similar with &quot;Visual
-Tcl&quot; would be invoked.</P>
-
-<P>&nbsp;&nbsp;&nbsp;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>&nbsp;&nbsp;&nbsp;Forms are special Tcl/Tk source code that is used
-for creating windows and placing widgets inside it. When Tcl/Tk is &quot;eval&quot;
-them, a new window appears, with buttons as defined that could call &quot;user
-defined scripts&quot;, &quot;user defined procedures&quot; or &quot;internal
-PgAccess procedures&quot;.<BR>
-&nbsp;&nbsp;&nbsp;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>
-&nbsp;&nbsp;&nbsp;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>&nbsp;&nbsp; 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>&nbsp;
+<BR>&nbsp;&nbsp; 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>&nbsp;&nbsp; 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>
+&nbsp;&nbsp; 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>&nbsp;&nbsp; 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
-&quot;shell&quot;, a startup point for you applications.</P>
-
-<H3>Scripts</H3>
-
-<P>&nbsp;&nbsp;&nbsp;Scripts are normal Tcl/Tk code that is interpreted
-by Tcl/Tk. You can define your own procedures inside a script called &quot;Library&quot;
-for example. You can call your procedures from within another script, from
-another procedure.<BR>
-&nbsp;&nbsp;&nbsp;The most important thing is that you have total access
+"shell", a startup point for you applications. See the&nbsp; <A HREF="forms.html">special
+section concerning forms.</A>
+<H3>
+Scripts</H3>
+&nbsp;&nbsp; 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>&nbsp;&nbsp; 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
-&quot;Your sample table&quot;</FONT></TT></B> and you'll see the result.<BR>
-&nbsp;&nbsp;&nbsp;If you are writing a script called &quot;Autoexec&quot;
-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
-&quot;My own procedure library&quot;</FONT></TT></B> or open a form with
-<B><TT><FONT COLOR="#000080">open_form &quot;Main window with menu buttons&quot;</FONT></TT></B>
-, and so on.</P>
+"Your sample table"</FONT></TT></B> and you'll see the result.
+<BR>&nbsp;&nbsp; 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>&nbsp;&nbsp;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 &quot;New&quot; button<BR>
-2. Enter &quot;<TT>Generate my first form</TT>&quot; 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 &quot;User
-defined Form No.1&quot;; button $base.b1 -command {execute_script &quot;My
-first script&quot;} -text &quot;My first button&quot; ; 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 &quot;Save query definition button&quot; and then &quot;Close&quot;<BR>
-5. In the mai window, select by clicking the query &quot;Generate my first
-form&quot; and press &quot;Open&quot; button.</P>
-
-<P>Your query must have been executed without errors! If you will check
-now the &quot;Forms&quot; tab, you will find there your first form. Press
-&quot;Open&quot; button and enjoy it! For the moment, if you will press
-&quot;My first button&quot; 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>&nbsp;&nbsp;Defining our first
-script :<BR>
-1. Click on Scripts tab and pres &quot;New&quot; button<BR>
-2. Enter &quot;My first script&quot; in script's name field<BR>
-3. Enter the body as the script the following statements :<BR>
-<BR>
-<TT>MsgBox &quot;Warning&quot; &quot;PgAccess unleashed!&quot;<BR>
-open_table pga_scripts<BR>
-<BR>
-</TT>4. Press &quot;Save&quot; button then &quot;Cancel&quot;</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 &quot;My first script&quot;
-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>&nbsp;&nbsp;Define our first
-library that will contain your &quot;user defined&quot; Tcl/Tk procedures
-and functions :<BR>
-1. Click on Scripts tab and pres &quot;New&quot; button<BR>
-2. Enter &quot;My first library&quot; in script's name field<BR>
-3. Enter the body of the script the following statements :<BR>
-<BR>
-<TT>proc MsgBox {title msg} {<BR>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tk_messageBox -title $title -message
-$msg<BR>
-}<BR>
-<BR>
-</TT>4. Press &quot;Save&quot; button then &quot;Cancel&quot;</P>
-
-<P><IMG SRC="file:/home/teo/a_right.gif" HEIGHT=20 WIDTH=20>&nbsp;&nbsp;Define
-our first autoexec script that will contain commands that will be executed
-when opening database :<BR>
-1. Click on Scripts tab and pres &quot;New&quot; button<BR>
-2. Enter &quot;Autoexec&quot; in script's name field<BR>
-3. Enter the body of the script the following statements :<BR>
-<BR>
-<TT>execute_script &quot;My first library&quot;<BR>
-open_form &quot;My first form&quot;<BR>
-<BR>
-</TT>4. Press &quot;Save&quot; button then &quot;Cancel&quot;</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 &quot;pga_...&quot;
-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&nbsp;? In this
-moment, I am working in recoding the main part of PgAccess in order to
-give to the user more &quot;system&quot; 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 &quot;Autoexec&quot; script execution and showing it
-before destroying &quot;My first form&quot;. For this example, delete the
-previously defined &quot;My first form&quot; 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 &quot;User
-defined Form No.1&quot;; button $base.b1 -command {execute_script &quot;My
-first script&quot;} -text &quot;My first button&quot; ; 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
-&quot;user defined window&quot; . <BR>
-Also make &quot;Autoexec&quot; script to show like this :<BR>
-<BR>
-<TT>execute_script &quot;My first library&quot;<BR>
-Window hide .dw<BR>
-open_form &quot;My first form&quot;</TT><BR>
-</P>
-
+<HR WIDTH="50%">
 </BODY>
 </HTML>
index 3dfef34bae9284358b155a5c34119c90f02d0a7d..0a3d3bb8914dad20b8dd75630bec1bec17daca51 100644 (file)
@@ -671,6 +671,7 @@ foreach objinfo [lrange $info 4 end] {
     if {$mode=="design"} {fd_draw_object $i}
     incr j
 }
+if {$mode=="design"} {wm geometry .fd $fdvar(geometry)}
 }
 
 proc {fd_mouse_down} {x y} {
@@ -870,7 +871,12 @@ switch $fdobj($item,t) {
         entry $base.$name -bo 1 -ba white -selectborderwidth 0  -highlightthickness 0 
         if {$var!=""} {$base.$name configure -textvar $var}
     }
-    label {set wh {} ; label $base.$name -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -anchor nw -padx 0 -pady 0 -text $fdobj($item,l)}
+    label {
+       set wh {}
+       label $base.$name -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -anchor nw -padx 0 -pady 0 -text $fdobj($item,l)
+       set var {} ; catch {set var $fdobj($item,v)}
+       if {$var!=""} {$base.$name configure -textvar $var}
+    }
     listbox {listbox $base.$name -borderwidth 1 -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-*}
 }
 if $visual {eval [subst "place $base.$name  -x [expr [lindex $coord 0]-1] -y [expr [lindex $coord 1]-1] -anchor nw $wh -bordermode ignore"]}
@@ -2559,7 +2565,7 @@ proc vTclWindow.about {base} {
     label $base.l2  -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-*  -relief groove  -text {A Tcl/Tk interface to
 PostgreSQL
 by Constantin Teodorescu} 
-    label $base.l3  -borderwidth 0  -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-*  -relief sunken -text {vers 0.81}
+    label $base.l3  -borderwidth 0  -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-*  -relief sunken -text {vers 0.82}
     label $base.l4  -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-*  -relief groove  -text {You will always get the latest version at:
 http://www.flex.ro/pgaccess
 
@@ -2782,7 +2788,7 @@ proc vTclWindow.fw {base} {
     ###################
     toplevel $base -class Toplevel
     wm focusmodel $base passive
-    wm geometry $base 306x288+298+290
+    wm geometry $base 306x288+233+130
     wm maxsize $base 1009 738
     wm minsize $base 1 1
     wm overrideredirect $base 0
@@ -2907,7 +2913,7 @@ proc vTclWindow.mw {base} {
     ###################
     toplevel $base -class Toplevel
     wm focusmodel $base passive
-    wm geometry $base 550x400+189+228
+    wm geometry $base 550x400+5+5
     wm maxsize $base 1009 738
     wm minsize $base 550 400
     wm overrideredirect $base 0
@@ -2993,7 +2999,7 @@ proc vTclWindow.nt {base} {
     ###################
     toplevel $base -class Toplevel
     wm focusmodel $base passive
-    wm geometry $base 630x312+148+315
+    wm geometry $base 630x312+100+40
     wm maxsize $base 1009 738
     wm minsize $base 1 1
     wm overrideredirect $base 0
@@ -3316,7 +3322,7 @@ proc vTclWindow.qb {base} {
     ###################
     toplevel $base -class Toplevel  -cursor top_left_arrow 
     wm focusmodel $base passive
-    wm geometry $base 442x344+282+299
+    wm geometry $base 442x344+150+150
     wm maxsize $base 1009 738
     wm minsize $base 1 1
     wm overrideredirect $base 0
@@ -3412,7 +3418,7 @@ proc vTclWindow.ql {base} {
     ###################
     toplevel $base -class Toplevel  -cursor top_left_arrow 
     wm focusmodel $base passive
-    wm geometry $base 759x530+233+177
+    wm geometry $base 759x530+10+13
     wm maxsize $base 1009 738
     wm minsize $base 1 1
     wm overrideredirect $base 0
@@ -3548,7 +3554,7 @@ proc vTclWindow.rb {base} {
     ###################
     toplevel $base -class Toplevel
     wm focusmodel $base passive
-    wm geometry $base 652x426+96+160
+    wm geometry $base 652x426+96+120
     wm maxsize $base 1009 738
     wm minsize $base 1 1
     wm overrideredirect $base 0
@@ -3786,7 +3792,7 @@ proc vTclWindow.rpv {base} {
     ###################
     toplevel $base -class Toplevel
     wm focusmodel $base passive
-    wm geometry $base 495x500+239+165
+    wm geometry $base 495x500+230+50
     wm maxsize $base 1009 738
     wm minsize $base 1 1
     wm overrideredirect $base 0
@@ -3910,7 +3916,7 @@ proc vTclWindow.sw {base} {
     ###################
     toplevel $base -class Toplevel
     wm focusmodel $base passive
-    wm geometry $base 594x416+248+217
+    wm geometry $base 594x416+192+152
     wm maxsize $base 1009 738
     wm minsize $base 300 300
     wm overrideredirect $base 0
@@ -3955,7 +3961,7 @@ proc vTclWindow.tiw {base} {
     ###################
     toplevel $base -class Toplevel
     wm focusmodel $base passive
-    wm geometry $base 390x460+243+120
+    wm geometry $base 390x460+243+20
     wm maxsize $base 1009 738
     wm minsize $base 1 1
     wm overrideredirect $base 0
@@ -4023,7 +4029,7 @@ proc vTclWindow.fd {base} {
     ###################
     toplevel $base -class Toplevel
     wm focusmodel $base passive
-    wm geometry $base 377x315+185+234
+    wm geometry $base 377x315+103+101
     wm maxsize $base 785 570
     wm minsize $base 1 1
     wm overrideredirect $base 0
@@ -4064,7 +4070,7 @@ proc vTclWindow.fda {base} {
     ###################
     toplevel $base -class Toplevel
     wm focusmodel $base passive
-    wm geometry $base 225x197+589+29
+    wm geometry $base 225x197+561+0
     wm maxsize $base 785 570
     wm minsize $base 1 1
     wm overrideredirect $base 0
@@ -4214,7 +4220,7 @@ proc vTclWindow.fdcmd {base} {
     ###################
     toplevel $base -class Toplevel
     wm focusmodel $base passive
-    wm geometry $base 282x274+616+367
+    wm geometry $base 282x274+504+229
     wm maxsize $base 785 570
     wm minsize $base 1 19
     wm overrideredirect $base 0
@@ -4269,7 +4275,7 @@ proc vTclWindow.fdmenu {base} {
     ###################
     toplevel $base -class Toplevel
     wm focusmodel $base passive
-    wm geometry $base 288x70+193+129
+    wm geometry $base 288x70+103+0
     wm maxsize $base 785 570
     wm minsize $base 1 1
     wm overrideredirect $base 0
@@ -4361,7 +4367,7 @@ proc vTclWindow.fdtb {base} {
     ###################
     toplevel $base -class Toplevel
     wm focusmodel $base passive
-    wm geometry $base 90x152+65+180
+    wm geometry $base 90x152+0+0
     wm maxsize $base 785 570
     wm minsize $base 1 1
     wm overrideredirect $base 0