From 3848b4648aa436b8b2edba9e4ad65ec050e1b74a Mon Sep 17 00:00:00 2001 From: "Marc G. Fournier" Date: Mon, 20 Sep 1999 22:32:50 +0000 Subject: [PATCH] fixing it more.. --- src/bin/pgaccess/doc/html/a_right.gif | Bin 0 -> 207 bytes src/bin/pgaccess/doc/html/addindex.gif | Bin 0 -> 11402 bytes src/bin/pgaccess/doc/html/api.html | 232 ++++++++ src/bin/pgaccess/doc/html/ball.gif | Bin 0 -> 176 bytes src/bin/pgaccess/doc/html/contents.html | 29 + src/bin/pgaccess/doc/html/copyright.html | 39 ++ src/bin/pgaccess/doc/html/documentation.html | 19 + src/bin/pgaccess/doc/html/download.html | 42 ++ src/bin/pgaccess/doc/html/faq.html | 85 +++ src/bin/pgaccess/doc/html/features.html | 52 ++ src/bin/pgaccess/doc/html/formdemo.sql | 216 +++++++ src/bin/pgaccess/doc/html/forms.gif | Bin 0 -> 20106 bytes src/bin/pgaccess/doc/html/forms.html | 203 +++++++ src/bin/pgaccess/doc/html/function.gif | Bin 0 -> 10022 bytes src/bin/pgaccess/doc/html/help.gif | Bin 0 -> 7082 bytes src/bin/pgaccess/doc/html/index.html | 11 + src/bin/pgaccess/doc/html/irix.html | 133 +++++ src/bin/pgaccess/doc/html/linux1.gif | Bin 0 -> 789 bytes src/bin/pgaccess/doc/html/maillist.html | 43 ++ src/bin/pgaccess/doc/html/main.html | 34 ++ src/bin/pgaccess/doc/html/mainwindow.gif | Bin 0 -> 8857 bytes src/bin/pgaccess/doc/html/newtable.gif | Bin 0 -> 9317 bytes src/bin/pgaccess/doc/html/newuser.gif | Bin 0 -> 3965 bytes src/bin/pgaccess/doc/html/old_index.html | 143 +++++ src/bin/pgaccess/doc/html/permissions.gif | Bin 0 -> 10414 bytes src/bin/pgaccess/doc/html/pg93patch.html | 25 + src/bin/pgaccess/doc/html/pga-rad.html | 65 +++ src/bin/pgaccess/doc/html/qbtclet.html | 45 ++ src/bin/pgaccess/doc/html/qbtclet.tcl | 529 +++++++++++++++++ src/bin/pgaccess/doc/html/screenshots.html | 43 ++ src/bin/pgaccess/doc/html/specialchars.html | 47 ++ src/bin/pgaccess/doc/html/todo.html | 11 + src/bin/pgaccess/doc/html/tutorial/addref.jpg | Bin 0 -> 28655 bytes .../pgaccess/doc/html/tutorial/altern_q.jpg | Bin 0 -> 13639 bytes .../pgaccess/doc/html/tutorial/altern_v.jpg | Bin 0 -> 16987 bytes .../pgaccess/doc/html/tutorial/copyright.html | Bin 0 -> 20480 bytes src/bin/pgaccess/doc/html/tutorial/index.html | 33 ++ src/bin/pgaccess/doc/html/tutorial/intro.html | 39 ++ src/bin/pgaccess/doc/html/tutorial/irix.html | 133 +++++ src/bin/pgaccess/doc/html/tutorial/newref.txt | 1 + .../pgaccess/doc/html/tutorial/newtable.jpg | Bin 0 -> 29164 bytes .../pgaccess/doc/html/tutorial/newtable.tga | Bin 0 -> 44583 bytes .../pgaccess/doc/html/tutorial/problems.html | 83 +++ .../pgaccess/doc/html/tutorial/screen1.jpg | Bin 0 -> 15331 bytes .../pgaccess/doc/html/tutorial/sel_tbl.jpg | Bin 0 -> 15983 bytes src/bin/pgaccess/doc/html/tutorial/start.html | 74 +++ src/bin/pgaccess/doc/html/tutorial/tut.html | 50 ++ .../pgaccess/doc/html/tutorial/tut_edit.html | 39 ++ .../pgaccess/doc/html/tutorial/tut_new.html | 36 ++ .../pgaccess/doc/html/tutorial/tut_sel1.html | 36 ++ .../pgaccess/doc/html/tutorial/tut_user.html | 28 + src/bin/pgaccess/doc/html/vdesigner.gif | Bin 0 -> 15903 bytes src/bin/pgaccess/doc/html/whatsnew.html | 50 ++ src/bin/pgaccess/doc/html/win32.html | 45 ++ src/bin/pgaccess/images/icon_button.gif | Bin 0 -> 896 bytes src/bin/pgaccess/images/icon_checkbutton.gif | Bin 0 -> 873 bytes src/bin/pgaccess/images/icon_entry.gif | Bin 0 -> 907 bytes src/bin/pgaccess/images/icon_frame.gif | Bin 0 -> 908 bytes src/bin/pgaccess/images/icon_label.gif | Bin 0 -> 80 bytes src/bin/pgaccess/images/icon_listbox.gif | Bin 0 -> 896 bytes src/bin/pgaccess/images/icon_query.gif | Bin 0 -> 897 bytes src/bin/pgaccess/images/icon_radiobutton.gif | Bin 0 -> 870 bytes src/bin/pgaccess/images/icon_text.gif | Bin 0 -> 911 bytes src/bin/pgaccess/lib/languages/francais | 525 +++++++++++++++++ src/bin/pgaccess/lib/languages/italiano | 539 ++++++++++++++++++ src/bin/pgaccess/lib/languages/magyar | 525 +++++++++++++++++ src/bin/pgaccess/lib/languages/romana | 526 +++++++++++++++++ 67 files changed, 4808 insertions(+) create mode 100644 src/bin/pgaccess/doc/html/a_right.gif create mode 100644 src/bin/pgaccess/doc/html/addindex.gif create mode 100644 src/bin/pgaccess/doc/html/api.html create mode 100644 src/bin/pgaccess/doc/html/ball.gif create mode 100644 src/bin/pgaccess/doc/html/contents.html create mode 100644 src/bin/pgaccess/doc/html/copyright.html create mode 100644 src/bin/pgaccess/doc/html/documentation.html create mode 100644 src/bin/pgaccess/doc/html/download.html create mode 100644 src/bin/pgaccess/doc/html/faq.html create mode 100644 src/bin/pgaccess/doc/html/features.html create mode 100644 src/bin/pgaccess/doc/html/formdemo.sql create mode 100644 src/bin/pgaccess/doc/html/forms.gif create mode 100644 src/bin/pgaccess/doc/html/forms.html create mode 100644 src/bin/pgaccess/doc/html/function.gif create mode 100644 src/bin/pgaccess/doc/html/help.gif create mode 100644 src/bin/pgaccess/doc/html/index.html create mode 100644 src/bin/pgaccess/doc/html/irix.html create mode 100644 src/bin/pgaccess/doc/html/linux1.gif create mode 100644 src/bin/pgaccess/doc/html/maillist.html create mode 100644 src/bin/pgaccess/doc/html/main.html create mode 100644 src/bin/pgaccess/doc/html/mainwindow.gif create mode 100644 src/bin/pgaccess/doc/html/newtable.gif create mode 100644 src/bin/pgaccess/doc/html/newuser.gif create mode 100644 src/bin/pgaccess/doc/html/old_index.html create mode 100644 src/bin/pgaccess/doc/html/permissions.gif create mode 100644 src/bin/pgaccess/doc/html/pg93patch.html create mode 100644 src/bin/pgaccess/doc/html/pga-rad.html create mode 100644 src/bin/pgaccess/doc/html/qbtclet.html create mode 100644 src/bin/pgaccess/doc/html/qbtclet.tcl create mode 100644 src/bin/pgaccess/doc/html/screenshots.html create mode 100644 src/bin/pgaccess/doc/html/specialchars.html create mode 100644 src/bin/pgaccess/doc/html/todo.html create mode 100644 src/bin/pgaccess/doc/html/tutorial/addref.jpg create mode 100644 src/bin/pgaccess/doc/html/tutorial/altern_q.jpg create mode 100644 src/bin/pgaccess/doc/html/tutorial/altern_v.jpg create mode 100644 src/bin/pgaccess/doc/html/tutorial/copyright.html create mode 100644 src/bin/pgaccess/doc/html/tutorial/index.html create mode 100644 src/bin/pgaccess/doc/html/tutorial/intro.html create mode 100644 src/bin/pgaccess/doc/html/tutorial/irix.html create mode 100644 src/bin/pgaccess/doc/html/tutorial/newref.txt create mode 100644 src/bin/pgaccess/doc/html/tutorial/newtable.jpg create mode 100644 src/bin/pgaccess/doc/html/tutorial/newtable.tga create mode 100644 src/bin/pgaccess/doc/html/tutorial/problems.html create mode 100644 src/bin/pgaccess/doc/html/tutorial/screen1.jpg create mode 100644 src/bin/pgaccess/doc/html/tutorial/sel_tbl.jpg create mode 100644 src/bin/pgaccess/doc/html/tutorial/start.html create mode 100644 src/bin/pgaccess/doc/html/tutorial/tut.html create mode 100644 src/bin/pgaccess/doc/html/tutorial/tut_edit.html create mode 100644 src/bin/pgaccess/doc/html/tutorial/tut_new.html create mode 100644 src/bin/pgaccess/doc/html/tutorial/tut_sel1.html create mode 100644 src/bin/pgaccess/doc/html/tutorial/tut_user.html create mode 100644 src/bin/pgaccess/doc/html/vdesigner.gif create mode 100644 src/bin/pgaccess/doc/html/whatsnew.html create mode 100644 src/bin/pgaccess/doc/html/win32.html create mode 100644 src/bin/pgaccess/images/icon_button.gif create mode 100644 src/bin/pgaccess/images/icon_checkbutton.gif create mode 100644 src/bin/pgaccess/images/icon_entry.gif create mode 100644 src/bin/pgaccess/images/icon_frame.gif create mode 100644 src/bin/pgaccess/images/icon_label.gif create mode 100644 src/bin/pgaccess/images/icon_listbox.gif create mode 100644 src/bin/pgaccess/images/icon_query.gif create mode 100644 src/bin/pgaccess/images/icon_radiobutton.gif create mode 100644 src/bin/pgaccess/images/icon_text.gif create mode 100644 src/bin/pgaccess/lib/languages/francais create mode 100644 src/bin/pgaccess/lib/languages/italiano create mode 100644 src/bin/pgaccess/lib/languages/magyar create mode 100644 src/bin/pgaccess/lib/languages/romana diff --git a/src/bin/pgaccess/doc/html/a_right.gif b/src/bin/pgaccess/doc/html/a_right.gif new file mode 100644 index 0000000000000000000000000000000000000000..386e27c304feb300eb29248ae887e13fb338bf70 GIT binary patch literal 207 zc-nLKbhEHb6k!lyc+3C-MrVx}{xjUUb7$Yaefs|Xdfnj#4HNe7-_L*zDE?$&WMJT6 z&;fBkW-zeS2%Pj>y;c2nbmz4LfdwAVY9k9{=6MNZMTs~}mHc5aXJeGVlCwgC@rSgA zi790QeC@6iJJcpx&G(NH`j8yA(Z8`FimP^Gl2o`5)10GC0=+c`{13m@{BHMzeSV) literal 0 Hc-jL100001 diff --git a/src/bin/pgaccess/doc/html/addindex.gif b/src/bin/pgaccess/doc/html/addindex.gif new file mode 100644 index 0000000000000000000000000000000000000000..2ff0aa2084e9e573fb2a2de07a40a4bac5075282 GIT binary patch literal 11402 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 Y*T4PWKmO;x{_j8k_rL#_b_f6fJK5uimH+?% literal 0 Hc-jL100001 diff --git a/src/bin/pgaccess/doc/html/api.html b/src/bin/pgaccess/doc/html/api.html new file mode 100644 index 00000000000..7630fd2054d --- /dev/null +++ b/src/bin/pgaccess/doc/html/api.html @@ -0,0 +1,232 @@ + + + + + + + + +

+PgAccess developer API

+ +
+
Starting with PgAccess 0.98 I am planning to make available a complete +API for the PgAccess developers. I plan to make PgAccess not just an administrative +tool, but also a tool for easy build of small applications. +

That's why PgAccess 0.98 has been internally restructured, every main +module of PgAccess has became a namespace (see Tcl namespaces) in order  +to hide the variables and internal procedures to the user. Also, all the +global variables that have been used before were grouped under a single +big associative array called PgAcVar (PgAccess variables) so they +should not interfere with user defined global variables. +
  +
  +

Global variables available +
  +

+ + + + + + + + + + + + + + + + + + + + + + + +
PgAcVarThe main global associative array that hold together various information +needed by PgAccess. User should NOT +alter it under any circumstances.
CurrentDBThe handler of the current opened database. Can be used for database +operations as selects or command execution.
MessagesThe associative array that holds the translation for the current +language. Loaded from the appropriate language file from lib/languages +directory
PGACCESS_HOMEKeep the system directory of PgAccess root installation
+ +
  +

Window naming convention +

Every toplevel window defined by PgAccess has the following naming convention. +Every window name starts with .pgaw (PgAccess window) followed +by a colon and a name. Example: +

.pgaw:User , .pgaw:About , .pgaw:ImportExport
+Namespaces available +

For every tab from the main database window there is a namespace defined +(Tables, Queries, Views, Functions, Sequences, Reports, Forms, Scripts, +Users, Schema). Every namespace has by default the following  procedures: +

    +
  • +new  , no parameter needed
  • + +
  • +open , need a single parameter, the object name
  • + +
  • +design , need a single parameter, the object name
  • +
+You can use these procedures if you want to produce the same efects as +clicking on the desired tab and then on the "New", "Open" or "Design" buttons +from the main database window. +
Example: +
Tables::open "customers" +
Queries::open "Invoices received" +
Forms::open "Add new invoice"
+The Tables::open procedure accepts two optional parameters, filter +and order. +
Example: +
Tables::open "phonebook" "name ~* 'joe'" "age desc"
+will open a table view window with predefined filter "name ~* 'joe'" and +ordered by descending age. +

There is also a special namespace called Database.  Here are some +procedures and functions defined for this namespace available to the user: +
  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameParametersTypeReturnsDescription
vacuumnoneprocedurenothingvacuums the current database
getTablesListnonefunctionlistreturns the list of tables from the current database
executeUpdatesqlcmdfunctionintegerexecute the sqlcmd command on the current database returning +1 if no errors ocurred or 0 if the command failed
+ +

Global functions available +
  + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameParametersDescription
setCursortypeSet the cursor for all PgAccess windows, type of cursor can +be WAIT or CLOCK or WATCH for the hourglass , anything else (or none) to +return to the normal cursor shape
parametermsgShows a modal input dialog with the msg message, wait for user +to enter the data and returns it as a string
showErrormsgShows a modal dialog window with an error message
+ + + diff --git a/src/bin/pgaccess/doc/html/ball.gif b/src/bin/pgaccess/doc/html/ball.gif new file mode 100644 index 0000000000000000000000000000000000000000..02d203471ed785ff5148f6ce7193cee8b248c447 GIT binary patch literal 176 zc-nLKbhEHbwn(@puhMC3;X+Xrl;KK0k-MhPY@9y5c zd)2B{KxO6S<)NXWN=ix$qyWXAEQ}yp2SkAEbYRt0Q0PlCk~wi$ literal 0 Hc-jL100001 diff --git a/src/bin/pgaccess/doc/html/contents.html b/src/bin/pgaccess/doc/html/contents.html new file mode 100644 index 00000000000..971f3f43dce --- /dev/null +++ b/src/bin/pgaccess/doc/html/contents.html @@ -0,0 +1,29 @@ + + + + + + + + +
What is PgAccess? +
What's new? +
Features +
Screenshots +
FAQ +
Documentation +
To-Do list +
Download +
  +


+

+

+ +

Other links +
PostgreSQL +
Visual Tcl +
Tcl/Tk +
Linux +
vTcLava + + diff --git a/src/bin/pgaccess/doc/html/copyright.html b/src/bin/pgaccess/doc/html/copyright.html new file mode 100644 index 00000000000..d67654b88e7 --- /dev/null +++ b/src/bin/pgaccess/doc/html/copyright.html @@ -0,0 +1,39 @@ + + + + + PgAccess - Copyright notice + + +--------------------------------------------------------------------------- +
  +
  + +

Copyright (c) 1994-7 Regents of the University of California + +

Permission to use, copy, modify, and distribute this software and +its +
documentation for any purpose, without fee, and without a written +agreement +
is hereby granted, provided that the above copyright notice and +this +
paragraph and the following two paragraphs appear in all copies. + +

IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY +PARTY FOR +
DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, +INCLUDING +
LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS +
DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED +OF THE +
POSSIBILITY OF SUCH DAMAGE. + +

THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES, +
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY +
AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER +IS +
ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS +TO +
PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + + diff --git a/src/bin/pgaccess/doc/html/documentation.html b/src/bin/pgaccess/doc/html/documentation.html new file mode 100644 index 00000000000..48d3fa5ec14 --- /dev/null +++ b/src/bin/pgaccess/doc/html/documentation.html @@ -0,0 +1,19 @@ + + + + + + + + +

+Documentation

+ +
+

Still need to be written. Some information can be found in the help +included in the main program. +

Jim Lemon <Jim.Lemon@uts.EDU.AU> has started writing a tutorial. +Thought it is based on earlier versions than 0.98 it is a beginning after +all, isn't it ? + + diff --git a/src/bin/pgaccess/doc/html/download.html b/src/bin/pgaccess/doc/html/download.html new file mode 100644 index 00000000000..efbe7bf50aa --- /dev/null +++ b/src/bin/pgaccess/doc/html/download.html @@ -0,0 +1,42 @@ + + + + + + + + +

+Download

+ +
+
The primary site for PgAccess downloads is: + + +

Another one (just with a little bit faster, try this one first) would +be : +

+ +
  + + diff --git a/src/bin/pgaccess/doc/html/faq.html b/src/bin/pgaccess/doc/html/faq.html new file mode 100644 index 00000000000..f66dd8321ac --- /dev/null +++ b/src/bin/pgaccess/doc/html/faq.html @@ -0,0 +1,85 @@ + + + + + + + + +

+PgAccess - FAQ

+ +
+
1. When I run PgAccess I got a message complaining about the crypt +library! What should I do? +
Versions of PostgreSQL prior to 6.5.1 couldn't reliably detect +the presence of the crypt library on RedHat 5.x systems. That's why the +libpgtcl library does not include reference to crypt. You will need to +get a proper copy of libpgtcl.so library or to compile one. Go to the postgresql +source directory into src/interfaces/libpgtcl and edit Makefile adding +-lcrypt to the end of the line SHLIB_LINKS. Make clean and make again. +Your libpgtcl.so is now prepare to run PgAccess. I strongly recommend you +to upgrade to PostgreSQL 6.5.1 where this problem has been solved.
+2. I cannot connect to a database from another machine +
There may be two problems here. First of all, PgAccess running +on the localhost is using two PostgreSQL dependent libraries, libpq and +libpgtcl. Each of them are compiled for a specific PostgreSQL version. +If the PostgreSQL version running on your server is different you might +experience problems. The other problem is related to access rights. On +the PostgreSQL server, in data directory there is a file pg_hba.conf that +will grant access rights to users based on host authentication. Ask your +database administrator to check if your workstation is listed there with +the appropriate access rights. Try for the beginning the 'trust' mode, +allowing full access to the databases.
+3. I am experiencing core dumps when trying to run PgAccess. Is PgAccess +broken? +
No. There were NEVER reported crashes because of PgAccess. +All of them were related to bad libraries usage. The most frequent was +the installing of a new PostgreSQL on a RedHat 5.x server where the postgresql-clients +rpm still exists. So, PgAccess was trying to use the old libpgtcl.so library +suitable for an older version of PostgreSQL. Before installing a new PostgreSQL +(either by compiling it ot by rpm packages) remove ANY TRACE of old PostgreSQL. +PgAccess is fully relying on libpgtcl library in order to get access to +the database so when you are experiencing that kind of problems, double-check +libpq and libpgtcl libraries.
+4. When I try to run PgAccess I get the following error : Application +initialization failed: couldn't connect to display "" +
That kind of error was reported on some Linux RedHat 5.x systems +when user has su - to root and tried to run PgAccess. Some unknown errors +in login scripts are not defining the DISPLAY environment and the wish +application cannot connect to the X display. Try typing export DISPLAY=localhost:0.0 +and run PgAccess again.
+5. Cannot run PgAccess on a Windows machine. +
In order to use PgAccess on Windows you must have installed +two libraries libpq.dll and libpgtcl.dll suitable for your Tcl/Tk package +and your PostgreSQL server. Note that libraries that work with Tcl/Tk 8.0.x +won't work with Tcl/Tk 8.1.x and libraries that work with 6.4.2 backend +won't work with 6.5.x. So, you must properly identify your Tcl/Tk package +version and your PostgreSQL version and download from the Downloads section +(or pick from the win32/dll directory of PgAccess distribution) the right +files. Copy them into your Windows/System directory and try again. Also, +you should be able to access over the network the machine running the PostgreSQL +server (try ping-ing it) and have the proper access rights to the database.
+6. How much costs PgAccess? +
PgAccess is a free tool. You won't have to pay anything in +order to use it. It is protected by the following copyright +as PostgreSQL is. I cannot guarantee technical support but I will try to +answer to your questions as much as I can.
+7. I want to translate PgAccess messages for xxx language. What should +I do? +
In the PgAccess distribution in lib/languages directory there +are files with messages translated for different languages. Copy one of +them and name it after your native language and then start editing it translating +all the messages. Save it into the same directory and that's all. Don't +forget to send me a copy in order to include it into the standard distribution.
+ +


8. I am receiving the following error: message invalid command +name "namespace" while executing "namespace eval Mainlib  ..." +

That means 100% that you have an older version of Tcl/Tk that +don't recognize namespaces command. Please upgrade to Tcl/Tk 8.0.x minimum
+ +
  +
  +
  + + diff --git a/src/bin/pgaccess/doc/html/features.html b/src/bin/pgaccess/doc/html/features.html new file mode 100644 index 00000000000..4531663be38 --- /dev/null +++ b/src/bin/pgaccess/doc/html/features.html @@ -0,0 +1,52 @@ + + + + + + + +Tables +
- opening multiple tables for viewing, max. n records (changed by preferences +menu) +
- column resizing, dragging the vertical grid line (better in table +space rather than in the table header) +
- text wrap in cells - layout saved for every table +
- import/export to external files (SDF,CSV) +
- filter capabilities (enter filter like (price>3.14) +
- sort order capabilities (enter manually the sort field(s)) +
- editing in place +
- improved table generator assistant +
- improved field editing +
Queries +
- define , edit and stores "user defined queries" +
- store queries as views +
- execution of queries with optional user input parameters ( select +* from invoices where year=[parameter "Year of selection"] ) +
- viewing of select type queries result +
- query deleting and renaming +
- visual query builder with drag & drop capabilities. For any of +you who had installed the Tcl/Tk plugin for Netscape Navigator, you can +see it at work clicking here +
Sequences +
- defines sequences, delete them and inspect them +
Functions +
- define, inspect and delete functions in SQL, plpgsql and pgtcl languages +
Reports +
- design and display simple reports from tables +
- fields and labels, font changing, style and size +
- saves and loads report description from database +
- show report previews, sample postscript output file +
Forms +
- open user defined forms +
- form design module available +
- query widget available, controls bound to query results +
- click here for a description of forms and +how they can be used +
Scripts +
- define, modify and call user defined scripts +
Users +
- define and modify user information +

PgAccess API for developing small applications +
  + + diff --git a/src/bin/pgaccess/doc/html/formdemo.sql b/src/bin/pgaccess/doc/html/formdemo.sql new file mode 100644 index 00000000000..73bf1c5027f --- /dev/null +++ b/src/bin/pgaccess/doc/html/formdemo.sql @@ -0,0 +1,216 @@ +\connect - teo +CREATE SEQUENCE "cities_id_seq" start 7 increment 1 maxvalue 2147483647 minvalue 1 cache 1 ; +SELECT nextval ('cities_id_seq'); +CREATE TABLE "pga_queries" ( + "queryname" character varying(64), + "querytype" character, + "querycommand" text, + "querytables" text, + "querylinks" text, + "queryresults" text, + "querycomments" text); +CREATE TABLE "pga_forms" ( + "formname" character varying(64), + "formsource" text); +CREATE TABLE "pga_scripts" ( + "scriptname" character varying(64), + "scriptsource" text); +CREATE TABLE "pga_reports" ( + "reportname" character varying(64), + "reportsource" text, + "reportbody" text, + "reportprocs" text, + "reportoptions" text); +CREATE TABLE "phonebook" ( + "name" character varying(32), + "phone_nr" character varying(16), + "city" character varying(32), + "company" bool, + "continent" character varying(16)); +CREATE TABLE "pga_layout" ( + "tablename" character varying(64), + "nrcols" int2, + "colnames" text, + "colwidth" text); +CREATE TABLE "pga_schema" ( + "schemaname" character varying(64), + "schematables" text, + "schemalinks" text); +REVOKE ALL on "pga_schema" from PUBLIC; +GRANT ALL on "pga_schema" to PUBLIC; +CREATE TABLE "cities" ( + "id" int4 DEFAULT nextval('"cities_id_seq"') NOT NULL, + "name" character varying(32) NOT NULL, + "prefix" character varying(16) NOT NULL); +CREATE FUNCTION "getcityprefix" (int4 ) RETURNS varchar AS 'select prefix from cities where id = $1 ' LANGUAGE 'SQL'; +COPY "pga_queries" FROM stdin; +Query that can be saved as view S select * from phonebook where continent='usa' \N \N \N \N +\. +COPY "pga_forms" FROM stdin; +Working with Tables namespace f3 13 {3 4 5 6 7 9 10 11 12 13} 377x263+59+127 {radio usa {36 24 138 36} {} USA selcont} {radio europe {36 45 141 60} {} Europe selcont} {radio africa {36 66 147 81} {} Africa selcont} {label label6 {9 99 339 114} {} {Select one of the above continents and press} {}} {button button7 {270 93 354 117} {Tables::open phonebook "continent='$selcont'" $selorder} {Show them} {}} {button button9 {66 189 312 213} {Tables::design phonebook} {Show me the phonebook table structure} {}} {button button10 {141 228 240 252} {destroy .f3} {Close the form} {}} {button button11 {93 141 282 165} {Tables::open phonebook "company=true"} {Show me only the companies} {}} {radio name {183 24 261 36} {} {Order by name} selorder} {radio phone_nr {183 45 267 57} {} {Order by phone number} selorder} +A simple demo form asdf 14 {FS {set color none}} 370x310+50+75 {label label1 {15 36 99 57} {} {Selected color} {} label1 flat #000000 #d9d9d9 1} {entry entry2 {111 36 225 54} {} entry2 color entry2 sunken #000000 #fefefe 1} {radio red {249 21 342 36} {} {Red as cherry} color red flat #900000 #d9d9d9 1} {radio green {249 45 342 60} {} {Green as a melon} color green flat #008800 #d9d9d9 1} {radio blue {249 69 342 84} {} {Blue as the sky} color blue flat #00008c #d9d9d9 1} {button button6 {45 69 198 99} {set color spooky} {Set a weird color} {} button6 ridge #0000b0 #dfbcdf 2} {label label7 {24 129 149 145} {} {The checkbox's value} {} label7 flat #000000 #d9d9d9 1} {entry entry8 {162 127 172 145} {} entry8 cbvalue entry8 sunken #000000 #fefefe 1} {checkbox checkbox9 {180 126 279 150} {} {Check me :-)} cbvalue checkbox9 flat #000000 #d9d9d9 1} {button button10 {219 273 366 303} {destroy .asdf} {Close that simple form} {} button10 raised #000000 #d9d9d9 1} {button button11 {219 237 366 267} {Forms::open "Phone book"} {Open my phone book} {} button11 raised #000000 #d9d9d9 1} {listbox lb {12 192 162 267} {} listbox12 {} lb sunken #000000 #fefefe 1} {button button13 {12 156 162 186} {.asdf.lb insert end red green blue cyan white navy black purple maroon violet} {Add some information} {} button13 raised #000000 #d9d9d9 1} {button button14 {12 273 162 303} {.asdf.lb delete 0 end} {Clear this listbox} {} button14 raised #000000 #d9d9d9 1} +Working with listboxes f2 5 {FS {set thestudent ""}} 257x263+139+147 {listbox lb {6 6 246 186} {} listbox1 {} lb sunken #000000 #ffffd4 1} {button button2 {9 234 124 258} {# Populate the listbox with some data\ +#\ +\ +foreach student {John Bill Doe Gigi} {\ +\ .f2.lb insert end $student\ +}\ +\ +\ +\ +# Binding the event left button release to the\ +# list box\ +\ +bind .f2.lb {\ +\ set idsel [.f2.lb curselection]\ +\ if {$idsel!=""} {\ +\ \ set thestudent [.f2.lb get $idsel]\ +\ }\ +}\ +\ +# Cleaning the variable thestudent\ +\ +set thestudent {}} {Show students} {} button2 groove #000000 #d9d9d9 2} {button button3 {132 234 247 258} {destroy .f2} {Close the form} {} button3 groove #000000 #d9d9d9 1} {label label4 {9 213 119 228} {} {You have selected} {} label4 flat #000000 #d9d9d9 1} {label label5 {129 213 219 228} {} {} thestudent label5 flat #00009a #d9d9d9 1} +The simplest form mf 5 {FS {set thename {}}} 306x136+82+146 {label label {42 45 99 60} {} Name {} label flat #000000 #d9d9d9 1 {Helvetica 12 bold italic}} {entry ename {120 42 219 63} {} entry2 thename ename sunken #000000 #fefefe 1 n} {button button3 {6 96 108 129} {set thename Teo} {Set the name} {} button3 raised #000000 #d9d9d9 1 n} {button button4 {192 96 300 129} {destroy .mf} {Close the form} {} button4 raised #000000 #d9d9d9 1 n} {button button5 {114 96 186 129} {set thename {}} {Clear it} {} button5 raised #000000 #d9d9d9 1 n} +Full featured form full 21 {FS {set entrydemo {nice}\ +set color {no color selected}}} 377x418+50+130 {label label1 {3 396 165 411} {} {Status line} {} {} sunken #000000 #d9d9d9 2 n} {label label2 {171 396 369 411} {} {Grooved status line} {} {} groove #000098 #d9d9d9 2 f} {label label3 {108 9 270 31} {} { Full featured form} {} {} ridge #000000 #d9d9d9 4 {Times 16 bold italic}} {button button4 {15 210 144 243} {.full.lb insert end {it's} a nice demo form} {Java style button} {} {} groove #6161b6 #d9d9d9 2 b} {label label5 {15 42 115 58} {} {Java style label} {} {} flat #6161b6 #d9d9d9 1 b} {entry entry6 {123 39 279 60} {} entry6 entrydemo {} groove #000000 #fefefe 2 {Courier 13}} {listbox lb {12 69 147 201} {} listbox8 {} {} ridge #000000 #ffffc8 2 n} {button button9 {18 264 39 282} {} 1 {} {} flat #000000 #d9d9d9 1 n} {button button10 {48 264 68 282} {} 2 {} {} flat #000000 #d9d9d9 1 n} {button button11 {78 264 234 282} {} {and other hidden buttons} {} {} flat #000000 #d9d9d9 1 n} {text txt {153 69 372 201} {} text12 {} {} sunken #000000 #d4ffff 1 n} {button button13 {150 210 369 243} {.full.txt tag configure bold -font {Helvetica 12 bold}\ +.full.txt tag configure italic -font {Helvetica 12 italic}\ +.full.txt tag configure large -font {Helvetica -14 bold}\ +.full.txt tag configure title -font {Helvetica 12 bold italic} -justify center\ +.full.txt tag configure link -font {Helvetica -12 underline} -foreground #000080\ +.full.txt tag configure code -font {Courier 13}\ +.full.txt tag configure warning -font {Helvetica 12 bold} -foreground #800000\ +\ +# That't the way help files are written\ +\ +.full.txt delete 1.0 end\ +.full.txt insert end {Centered title} {title} "\ +\ +You can make different " {} "portions of text bold" {bold} " or italic " {italic} ".\ +Some parts of them can be written as follows" {} "\ +SELECT * FROM PHONEBOOK" {code} "\ +You can also change " {} "colors for some words " {warning} "or underline them" {link} } {Old style button} {} {} raised #000000 #d9d9d9 2 n} {checkbox checkbox14 {48 297 153 309} {} different {} {} flat #00009c #d9d9d9 1 b} {checkbox checkbox15 {48 321 156 336} {} {fonts and} {} {} flat #cc0000 #d9d9d9 1 i} {checkbox checkbox16 {48 345 156 360} {} colors {} {} flat #00b600 #dfb2df 1 f} {radio radio17 {207 297 330 315} {} {red , rosu , rouge} color red flat #9c0000 #d9d9d9 1 n} {radio radio18 {207 321 324 333} {} {green , verde , vert} color green flat #009000 #d9d9d9 1 n} {radio radio19 {207 345 327 363} {} {blue , albastru, bleu} color blue flat #000000 #d9d9d9 1 n} {label selcolor {210 369 345 384} {} {} color {} flat #000000 #d9d9d9 1 n} {button button21 {285 258 363 285} {destroy .full} Exit {} {} raised #7c0000 #dfdbb8 1 b} +Phone book pb 28 {FS {}} 444x307+284+246 {label label1 {33 10 68 28} {} Name {} label1 flat #000000 #d9d9d9 1 n} {entry name_entry {87 9 227 27} {} entry2 DataSet(.pb.qs,name) name_entry sunken #000000 #fefefe 1 n} {label label3 {33 37 73 52} {} Phone {} label3 flat #000000 #d9d9d9 1 n} {entry entry4 {87 36 195 54} {} entry4 DataSet(.pb.qs,phone_nr) entry4 sunken #000000 #fefefe 1 n} {label label5 {33 64 78 82} {} City {} label5 flat #000000 #d9d9d9 1 n} {entry entry6 {87 63 195 81} {} entry6 DataSet(.pb.qs,city) entry6 sunken #000000 #fefefe 1 n} {query qs {3 6 33 33} {} query7 {} qs flat {} {} 1 n} {button button8 {174 177 246 203} {namespace eval DataControl(.pb.qs) {\ +\ setSQL "select oid,* from phonebook where name ~* '$what' order by name"\ +\ open\ +\ set nrecs [getRowCount]\ +\ updateDataSet\ +\ fill .pb.allnames name\ +\ bind .pb.allnames {\ +\ set ancr [.pb.allnames curselection]\ +\ if {$ancr!=""} {\ +\ \ DataControl(.pb.qs)::moveTo $ancr\ +\ \ DataControl(.pb.qs)::updateDataSet\ +\ }\ +\ }\ +}} {Start search} {} button8 raised #000000 #d9d9d9 1 n} {button button9 {363 276 433 300} {DataControl(.pb.qs)::close\ +DataControl(.pb.qs)::clearDataSet\ +set nrecs {}\ +set what {}\ +destroy .pb\ +} Exit {} button9 raised #000000 #d9d9d9 2 n} {button button10 {291 237 313 257} {namespace eval DataControl(.pb.qs) {\ +\ moveFirst\ +\ updateDataSet\ +}\ +} |< {} button10 ridge #000092 #d9d9d9 2 n} {button button11 {324 237 346 257} {namespace eval DataControl(.pb.qs) {\ +\ movePrevious\ +\ updateDataSet\ +}\ +} << {} button11 ridge #000000 #d9d9d9 2 n} {button button12 {348 237 370 257} {namespace eval DataControl(.pb.qs) {\ +\ moveNext\ +\ updateDataSet\ +}} >> {} button12 ridge #000000 #d9d9d9 2 n} {button button13 {381 237 403 257} {namespace eval DataControl(.pb.qs) {\ +\ moveLast\ +\ updateDataSet\ +}\ +} >| {} button13 ridge #000088 #d9d9d9 2 n} {checkbox checkbox14 {33 87 126 105} {} {Is it a company ?} DataSet(.pb.qs,company) checkbox14 flat #000000 #d9d9d9 1 n} {radio usa {63 108 201 120} {} U.S.A. DataSet(.pb.qs,continent) usa flat #000000 #d9d9d9 1 n} {radio europe {63 126 204 141} {} Europe DataSet(.pb.qs,continent) europe flat #000000 #d9d9d9 1 n} {radio africa {63 144 210 159} {} Africa DataSet(.pb.qs,continent) africa flat #000000 #d9d9d9 1 n} {entry entry18 {129 180 169 198} {} entry18 what entry18 sunken #000000 #fefefe 1 n} {label label19 {108 219 188 234} {} {records found} {} label19 flat #000000 #d9d9d9 1 n} {label label20 {90 219 105 234} {} { } nrecs label20 flat #000000 #d9d9d9 1 n} {label label21 {3 252 33 267} {} OID= {} label21 flat #000000 #d9d9d9 1 n} {label label22 {39 252 87 267} {} { } pbqs(oid) label22 flat #000000 #d9d9d9 1 n} {button button23 {9 276 79 300} {set oid {}\ +catch {set oid $DataSet(.pb.qs,oid)}\ +if {[string trim $oid]!=""} {\ + sql_exec noquiet "update phonebook set name='$DataSet(.pb.qs,name)', phone_nr='$DataSet(.pb.qs,phone_nr)',city='$DataSet(.pb.qs,city)',company='$DataSet(.pb.qs,company)',continent='$DataSet(.pb.qs,continent)' where oid=$oid"\ +} else {\ + tk_messageBox -title Error -message "No record is displayed!"\ +}\ +\ +} Update {} button23 raised #000000 #d9d9d9 1 n} {button button24 {210 276 280 300} {set thisname $DataSet(.pb.qs,name)\ +if {[string trim $thisname] != ""} {\ +\ sql_exec noquiet "insert into phonebook values (\ +\ \ '$DataSet(.pb.qs,name)',\ +\ \ '$DataSet(.pb.qs,phone_nr)',\ +\ \ '$DataSet(.pb.qs,city)',\ +\ \ '$DataSet(.pb.qs,company)',\ +\ \ '$DataSet(.pb.qs,continent)'\ +\ )"\ +\ tk_messageBox -title Information -message "A new record has been added!"\ +} else {\ +\ tk_messageBox -title Error -message "This one doesn't have a name?"\ +}\ +\ +} {Add record} {} button24 raised #000000 #d9d9d9 1 n} {button button25 {141 276 204 300} {DataControl(.pb.qs)::clearDataSet\ +# clearcontrols stillinitialise\ +# incorectly booleans controls to {}\ +# so I force it to 'f' (false)\ +set DataSet(.pb.qs,company) f\ +focus .pb.name_entry} {Clear all} {} button25 raised #000000 #d9d9d9 1 n} {listbox allnames {249 6 435 231} {} listbox26 {} allnames sunken #000000 #fefefe 1 n} {label label27 {33 252 90 267} {} {} DataSet(.pb.qs,oid) label27 flat #000000 #d9d9d9 1 n} {label label28 {3 182 128 197} {} {Find name containing} {} {} flat #000000 #d9d9d9 1 n} +\. +COPY "pga_scripts" FROM stdin; +How are forms keeped inside ? Tables::open pga_forms\ +\ +\ +\ + +Opening a table with filters Tables::open phonebook "name ~* 'e'" "name desc"\ +\ +\ + +Autoexec Mainlib::tab_click Forms\ +Forms::open {Full featured form}\ +\ +\ + +\. +COPY "pga_reports" FROM stdin; +My phone book phonebook set PgAcVar(report,tablename) "phonebook" ; set PgAcVar(report,y_rpthdr) 21 ; set PgAcVar(report,y_pghdr) 47 ; set PgAcVar(report,y_detail) 66 ; set PgAcVar(report,y_pgfoo) 96 ; set PgAcVar(report,y_rptfoo) 126 ; .pgaw:ReportBuilder.c create text 10 35 -font -Adobe-Helvetica-Bold-R-Normal--*-120-*-*-*-*-*-* -anchor nw -text {name} -tags {t_l mov ro} ; .pgaw:ReportBuilder.c create text 10 52 -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -anchor nw -text {name} -tags {f-name t_f rg_detail mov ro} ; .pgaw:ReportBuilder.c create text 141 36 -font -Adobe-Helvetica-Bold-R-Normal--*-120-*-*-*-*-*-* -anchor nw -text {city} -tags {t_l mov ro} ; .pgaw:ReportBuilder.c create text 141 51 -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -anchor nw -text {city} -tags {f-city t_f rg_detail mov ro} ; .pgaw:ReportBuilder.c create text 231 35 -font -Adobe-Helvetica-Bold-R-Normal--*-120-*-*-*-*-*-* -anchor nw -text {phone_nr} -tags {t_l mov ro} ; .pgaw:ReportBuilder.c create text 231 51 -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -anchor nw -text {phone_nr} -tags {f-phone_nr t_f rg_detail mov ro} \N \N +\. +COPY "phonebook" FROM stdin; +FIAT 623463445 t europe +Gelu Voican 01-32234 Bucuresti f europe +Radu Vasile 01-5523423 Bucuresti f europe +MUGADUMBU SRL +92 534662634 Cairo t africa +Jimmy Page 66323452 f europe +IBM 623346234 \N t usa +John Doe +44 35 2993825 Washington f usa +Bill Clinton +44 35 9283845 New York f usa +Monica Levintchi +44 38 5234526 Dallas f usa +Bill Gates +42 64 4523454 Los Angeles f usa +COMPAQ 623462345 \N t usa +SUN 784563253 \N t usa +DIGITAL 922644516 \N t usa +Frank Zappa 6734567 Montreal f usa +Constantin Teodorescu +40 39 611820 Braila f europe +Ngbendu Wazabanga 34577345 f africa +Mugabe Kandalam 7635745 f africa +Vasile Lupu 52345623 Bucuresti f europe +Gica Farafrica +42 64 4523454 Los Angeles f usa +Victor Ciorbea 634567 Bucuresti f europe +\. +COPY "pga_layout" FROM stdin; +pga_forms 2 formname formsource 82 713 +Usaisti 5 name phone_nr city company continent 150 150 150 150 150 +q1 5 name phone_nr city company continent 150 150 150 150 150 +view_saved_from_that_query 5 name phone_nr city company continent 150 150 150 150 150 +phonebook 5 name phone_nr city company continent 150 105 80 66 104 +Query that can be saved as view 5 name phone_nr city company continent 150 150 150 150 150 +cities 3 id name prefix 150 150 150 +\. +COPY "pga_schema" FROM stdin; +Simple schema cities 10 10 phonebook 201.0 84.0 {cities name phonebook city} +\. +COPY "cities" FROM stdin; +3 Braila 4039 +4 Galati 4036 +5 Dallas 5362 +6 Cairo 9352 +1 Bucuresti 4013 +7 Montreal 5325 +\. +CREATE UNIQUE INDEX "cities_id_key" on "cities" using btree ( "id" "int4_ops" ); diff --git a/src/bin/pgaccess/doc/html/forms.gif b/src/bin/pgaccess/doc/html/forms.gif new file mode 100644 index 0000000000000000000000000000000000000000..947d920b04b475628599d8d586d8eff253588553 GIT binary patch literal 20106 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 literal 0 Hc-jL100001 diff --git a/src/bin/pgaccess/doc/html/forms.html b/src/bin/pgaccess/doc/html/forms.html new file mode 100644 index 00000000000..57ecff52fcb --- /dev/null +++ b/src/bin/pgaccess/doc/html/forms.html @@ -0,0 +1,203 @@ + + + + + + + + +

+FORMS

+ +
+

This version (0.97) of PgAccess has changed the form API : variable +handling, query results interface and control bindings naming convention. +Please read it carefully, download the database demo and practice a while +before trying to design your own forms. +

For the moment, it has only some basic widgets : labels, entries, buttons +, listboxes , checkboxes and radiobuttons. +

Also there is a pseudo data control widget that allows you yo have access +to a query results. +

How do you generate widgets : +

    +
  1. +select a widget from the toolbox by clicking the appropriate radiobutton
  2. + +
  3. +move to the canvas , point with the mouse at the desired location and click +the mouse button to begin
  4. + +
  5. +keeping the mouse-button pressed move the mouse in order to draw a rectangle +that will hold the widget
  6. + +
  7. +release the mouse-button
  8. +
+In the rectangle that you have designed it will appear the selected object. +
Move now to the attribute window to change some of its properties. +

Renaming, resizing items are possible (for the moment) only by modifying +appropriate parameters in attribute window. You must press Enter +in the edit field after changing a value in order to be accepted. +

You can also move items by dragging them or delete them by pressing +Del key after selecting them. +

In attribute window, there are some fields named Command +and +Variable. +

The field Command have meaning +only for Button widgets and holds the command that will be invoked when +the button is pressed. +

    The field Variable have +meaning only for EditField , Label widgets , checkboxes and radiobuttons +and it is the name of the global variable that will hold the value for +that widget. For checkboxes the values are t and f (from +true and false) in order to simplify binding to logical data fields (PgAccess +0.82 used 0 and 1). +

    For radiobuttons, it is usual to assign the same +variable to the same radiobuttons within the same group. That variable +will contain the name of the widget of the radiobutton that has been pressed. +Let's presume that you have entered 3 radiobuttons named red, green and +blue, all of them having the same variable named color. If you will press +them, they will assign their names to global variable. +

    In order to make a simple test, put an entry field +and set it's variable to v1 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. +
Another test is defining in Script module a script called "My first +script" having the following commands: +
tk_messageBox -title Warning -message "This is my +first message!" +
and then define a button who's command is execute_script +"My first script". +
  +

+Database manipulation

+Let's presume that our form have the internal name mf (my +form). Don't forget that the Tk window names could not start with +an uppercase letter. +
The window will be referred inside the Tcl/Tk source as .mf +
If you want to close the form in run-time you have to issue the command +destroy +.mf +

Also, any widget created inside this window (form) will have the name +prefixed by .mf ,so we will have .mf.button1 +or .mf.listbox1 . +

We can name the data control widget dc for example. +The fully qualified name for that "virtual widget" will be .mf.dc +then. A new namespace called DataControl(.mf.dc) will be +automatically defined. +
The Command property of the data control widget must +contain the SQL command that will be executed. +
When the form will be in run-time, automatically you will have access +to the following procedures and functions from the namespace: +

open - opens the connection and execute the query (returns +nothing) +
setSQL newsql - set the command query that will be +executed at the next open +
getRowCount - returns the number of records of the +result set +
getRowIndex - returns the current record number inside +the result set +
getFieldList - returns a Tcl list containing the fields +names from the current result set +
moveFirst - move the cursor to the first record in +the recordset +
moveLast , moveNext , movePrevious- +moves the cursor there +
moveTo newrecno - move the cursor to that new record +number (first is 0) +
updateDataSet - update the variables inside the designed +form that have a particular name (I'll explain later) +
clearDataSet - clear the associated DataSet variables +
fill listbox field - fill the named listbox (whole +widget name as .mf.listbox1) with the all the values of +that field from the current result set +
close - close the result set (if +you don't close it, you will loose some memory) +

These procedures and functions should be called in the normal Tcl namespace +mode as in the following example: +

DataControl(.mf.dc)::setSQL "select * from phonebook" +
DataControl(.mf.dc)::open +
set nrecs [DataControl(.mf.dc)::getRowCount] +

If you complaint about writting to many DataControl(...) you can include +many commands into a single namespace eval as in the following example +: +

namespace eval DataControl(.mf.dc) { +
    setSQL "select * from phonebook" +
    open +
    set nrecs [getRowCount] +
    moveLast +
    updateDataSet +
} +

It's no need to close a query-result set if you want to assign it a +new SQL command and open it again. That will be done automatically releasing +the memory used for the last result set. +
Opening a new DataControl will automatically position the current +row index of the result set on the first row (index 0) and will define +a new global associative array named DataSet that will hold data +from the current row. The key into that array will be the fully qualified +name of the data control widget followed by a comma and the name of every +field in the selected rows. +

Example: +
DataSet(.mf.dc,name) +
DataSet(.mf.dc,city) +

If you want to bound some controls to the fields of the recordset, you +will have to name their associate variable like that : +

DataSet(.mf.dc,salary) to get the "salary" field , or +DataSet(.mf.dc,name) to get the "name" field. Using the +data control procedures DataControl(.mf.dc)::moveNext or +movePrevious will automatically update the DataSet(.mf.dc,...) +array so the database information from entries in the form will be refreshed. +
  +

Here it is a dumped sample database +that contains a demo database. What should you do ? +
Shift-click the above URL in order to download that tiny file (4 Kb). +Create a empty database and psql yourdatabase <formdemo.sql +

You should find a single table called "phonebook" a form called "Phone +book" and another "A simple demo form". +

First of all enter and view the phonebook table in table view. Note +the fields and their values. +
Open the "Phone book" form and enter a letter (a, e or i) in the field +to the left of "Find" button then press Find. It's fine to enter one letter +in order to get more records in query result. You will get information +about the number of records selected, in the listbox you will see all the +values of field "name" from the current data set. Use buttons to move to +first, next, previous or last record within the record set. +

In order to add a new record, press the "New" button in order to get +new, clean entries. Fill them with your data and press "Add new" button. +A new phonebook record will be added. Also, if you want to update a record, +change it's values in the displayed fields after finding it and press "Update" +button. The values will be updated in the database BUT NOT IN THE CURRENT +QUERY RESULT . If you want to see them modified, make a new query trying +to find it again. +

Before using the results from a query you should +know that the information that has been retrieved could be found only in +your computer client memory. It has no live connection to the data +from the database. That's why it isn't possible to develop a simple update +function as interface to that query-result widget. More than that : a query +result could be obtained from a SQL command that return a non-updatable +data set !!! For example fields gathered from multiple tables or summary +fields. It isn't just simple to make an automatic update procedure. The +programmer must know how to make the update or the append procedure, sometimes +using key fields to point to the desired record or an OID. There are examples +in the demo database in "Phone book" form. It may be possible that in the +future, I will develop another pseudo-widget describing a table. It would +be more simple than to implement an update or append or even a delete procedure. +

There is in the demo database also another simple form called "A simple +demo form". It will show you how to handle variables from checkboxes, radiobuttons, +how to use listboxes, open another forms and so on. I think they will help +you. +

In order to avoid naming user defined forms with  a particular +name of another PgAccess form, I would recommend naming them as udf0, udf1 +(user defined form 0 , 1 ) +

+


+

Please feel free to send me your opinion at teo@flex.ro on forms +designing and usage. +

KEEP IN MIND !       +THE FORM API MAY CHANGE IN ORDER TO BE MORE SIMPLE AND BETTER! +
SEND ME YOUR WISHES, YOUR IDEAS, YOUR OPINIONS ! +
ALSO ... DON'T BLAME ME IF YOU WILL HAVE TO RE-DESIGN +YOUR OLD FORMS DUE TO SOME INCOMPATIBILITIES WITH NEWER PGACCESS VERSIONS. + + diff --git a/src/bin/pgaccess/doc/html/function.gif b/src/bin/pgaccess/doc/html/function.gif new file mode 100644 index 0000000000000000000000000000000000000000..51634e5df9d585ddbe8b221a3fab4280e6b2abc0 GIT binary patch literal 10022 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 literal 0 Hc-jL100001 diff --git a/src/bin/pgaccess/doc/html/help.gif b/src/bin/pgaccess/doc/html/help.gif new file mode 100644 index 0000000000000000000000000000000000000000..f08fee8fd38d3e566718d8da06a16cd7d813eadc GIT binary patch literal 7082 zc-jG~8&%{-Nk%v~VTc0!0mJ|R-rn8-008#(_CZ8J#lpn^0DAxca{vHp003eD09pV5 zQUCx-002P%0672vF#rH5001BW02lxO5C8xO|NsAUadV`hq=SKj-rC*(0D}Mk00000 z000000000000000EC2ui0Ehzo0YC-+ARvxpX`X1Ru59bRa4gSsZQppV?|kq7z@Ts# z3jhR!q;kn@I+K+OQ_36^t_2DOtHpY=+ppL_E}PHj^!dPUyWj9Q96_(!@A&*Z!SDP3 zfPsGsgoTEOh>3^`jE#!!-t6^Nt_5tlf{df zL}}azN|nctsAP#88B3SRlemQcsay$6nah{Sq{*BKO`FY|*V?^v2M(W4aPQKgi>HoV zk_$+aDqYI7sne%Wqe`7hwW`&tShH%~%C)Q4uVBN99ZR;X*|TWVLQS&n$WaOy;9{6d zx31m0c=PI=dtt8Jy?_G?=IeK`;lqd%(BTJr4xw7TUm@`xUtNC!>3l!KI zB>*}u-~e?|V^F<%E^E4|U*~1a8Lw*Aw_&@!n|m+q)3$Y|-rbrwZr;O-@9r&_ap&jI zqf4Joy}I@4wUGx`E}MDa&!Gvl5fZ>hzmV5O@DB*;dVYAw87`hf)cN}VX;cM08MU96eUT9*8 zCBn8Li5a4ZVTu&SDC3NX^@mP&OZ3;^XrMtz7t;9D(a}D z`c>MSpf&j*W|p?<>Z`EEDyyfZ)@tjmxc=CvZ*X?$<7AxH#c8m^V!ElZ7!Z4GuFN*; z?6c49s@J2c$_efNwb*8>?V8fg)@!6sYL=<6%aS{8u;p&6?z-$g+wEfCI{7QGt+s3L zz4+$)u6psVnwhJ@(t0Ve<94cSx%FZyFuM6R?C`_a?Q0jcT!K4qWDFyG?83titgx~R zLoD*hBu^)CT@=SD>1DIF?DESnmn`$lG&^=OT`BweFTffni|oNb*DUnVL_c;jU;SEJ z^wLZ>P36%T*5XR-j>0vIM0MP?s%?-SIhR!WtWY$&zN6c`Qw~- zZe`?p`|J7t=%k|!y2{~}uKMa-pX%t^sVC03U}O(A``ZGuuKVuMy3T9fs9y|O?QYBc zspiGIjeEhb^6vceM*BW3?80MgF1pHpY&q^eb8KwJ2`i7i!kBMdsrTBGuRiqbw|lzI zEH5tq{Pfpv|NXMIum861Prd*D0JK&A5EsA#8W2$f6x{(A$iOQlP-zW}pahTfz{ySU zf*6!h1!I@N4tlUn((@MZ;P=52n$S8MtlkM%$im2^u!S&;;bdMY!y4M~Ff_cO4tIE$ z9P;poI`knBhZsX467h&9G$In0*g+*S@re?2A{3{1Kq*r3ivP1B7PkmJEpqXTy7M9! z$4EN=F_Q6&k2510*C;qOvhj^)b0Zw*=rlRf@s32Z(S2~XB+v-pj{@)?9tUZ<3ozj? zhRjjk1TcX8DCv=qjHDzdNy$oD@{*X$q$W4X$xeFmlb{TxC`U=kQoe(ckYuDIO{s(d zxbl^-jHN7RNy}Q=@|L*Fr7m~L%U=5Om%t3BFo#LZVjA<9$V{d(m&wdn>V%b-j8l%h zagHQd;F{R1fCVV9&23gwJoNa9KEkk%aoQscSOADR|3Q#;5(FXeJP1SPxe$oh6CxDJ z=R`2VPmFNnpBn**KtDo~f|3L!2t5f)7P=CcI20x{iReslLQ$JMvk9U3CPp<16eXGe zL!+%64K&#zhLW1}r0HCzO4s1dmd+ubFx>+^XF7;`+H?{6%;_Zh$FKDoWLDj5L#|GYx#!v(>^NN`-`E+8(cypV09~t9k*E zia=ziLCwaiX}*wt8mP8*RaxUtjZzNTJ_YY??mlz zZ^3JNxcVN-UWQNjF>Kus+n&ctu0IP3t!PI}+R~c#w5Uz3YRdvy2x^u$*EkJfJCi5d z%$BdReQop(DHn{6P>{N1ESXk>rw!R@uO9-Ga$)PCdim)`=TaK97dZrEs*m;oF3!O{V*VE{(3@`>$W+*==nH(VJB({6hP>sjU;%;6Hx zm$Q%UuWKoTzn7W##hCH1?JykRo>?t(ceyc)VJzbv``Ac5)(hEgthuY%cylEFF@%Gh zm*%lp$xu!VldA?`xcM!87M@#_x15(L=eWsMK3BRJ%;hq78Nn!1uJ*9QE0}Q znkkpABO95(Z+^3v^UPFiHp5 zV~;j*q%+NF7ydcLtrc{qN1dKcFOSA`uCaxYjNzY=+OVd6wX6dZYXa-|%Xh}{s&_qP zS67P4xej)r2h6Y}&)RXdKDM&!lI&$KyV=e@HngKH>uFP))YiUsr?ai?Omn;2j{Y{d z`z-Ep=egYGPV}e0=HGO?8`A5Z^SkHW!*~apgY?dKTE5l11@kL^ZT=4 zEjYCauJ95wyx|*uIK&?;@rf6>;ugm*#xow@jdMJ_9{+fEbwm|;i#*y%TGC?BvB*Z= z_vFq_`4SR&$d<42syNTN&Ueo9p8NdgKo7dmhYm?;j?@Y$O?uM*SITrUxb*35h^f@+ zK+~%8;igzGgig24h@N`A5W`k1H&m@r`%s<6|0m znob_;mDlOzy`FiXZhokpKl|sC8hWOV9`2==>glPPdP%N+C?1Uh>|@{kQQltZV(9%B zey`Ht3xD|WEdET7f79gWboo7P{!gDT)aV;^`bbrMOLcw!PnCU9wS5&;ex~$&;J0_O zr*{w-ff6`@6j*^4c!3xgN?8SS6L)WtMOJXtRUfD(3CDqLQXgfNRfrW^hjCjd6N1|T z9FSpI!-ZUe;evZ%4K-L^&0&H-f?_(DUXqc5T{41wQd{m7U5;gh@0Em3cqdD^f-Xw?%`=fmwU9Sc%n!FsL1{ zHCN3QhjUn5d7^_af`l*Vg);(#$OS0E1z2S0fhhJIZg?JbNP>bmh$vWwDySf)vLKhZ zT3-=~8Z=sz$RnB-X6SG1_-G*)k8m`P^vFi!RfD?GR*0B|`Z$LD zc!h1nkA!lMCX|nC2$1a+SOD1?aJYrF_+H#-kP+lY6G@R8=Z?YCHcp0XjfRn6RBOaz zXSW8DNF4Xc zLb;O~NkWP9Yln7}WE5+t#%p(GY)&ad$yRLtShj0{Q|>Cl`H9(ZHZ#+wqls+aDd5~a5ALNzzSwiahH{U~=HwmEs`?){vxtQK5U?Mi4?W33GnVSl_p!4~lx}~2I znw}9_p|EzL7)nS5ij#q(o!IH2y~dQrxuJQap^`D8c!r?F*=WcEo+f%&C^|e1TB98q zqgunD6jq%jIyPy^Xda29*n*NE7MmpMYw)R}blH)XX{2%qqw6W8L_(xB38eKhH&`l~ z;dz!%dOlEEnf{rT^(m!MLZM_DKxTTTSu~?+`jl+irXl&Ja4M5>I;U8argr)~c$%lY zv!{F-Ms@n9Pvob9syc*PsAUwWhM+)Nt@@Iz+FC%_+O2oPt>C(* z%=(VXIj-I+uILJ(<+_pUimUCal<(@RstK&~O0TG5ulI^U-@32krLO)8sPQV60ZW?$ z`<4Z}K>eDq%%UUW^srhms|<^r+choQWpfBSv1sawwZX9%8<-lqu^1IKz7-y-BrmC$ zvMRf>EZed!`?3LIvW?VCG+VPad$Ty3vpT!8JlnHA`?EkBw8z9qfK;?bYqTzRv`V|Q zOxv_h`?OFSwNg8^R9m(GR(rKro3&cIwOre^Ui-CR8@6IQwq#qjW(&4Pmw{@#wrtzB zZu_=y8@Jw&wybo1=y$gTz<%rGek}!m@h5-tM1MAAfBJ-fJf(jC#eW0ke?rQ?PPk{P&lKW7U8&Q^v6PW8!5UT||0a6U8xtHX3J7+fJj45T(ly zr;EC&yHBg@PpunJuS-y|dr-5hP_^4ow+m6ZJ5jr9QJTbnOVWBnaSr1bQnL5E_<&JA zp-tShzqY5mxR($A|C@OI@Vx#Iz3()=22s8BbiEIez1q9I7SX-l`@O0VzT!K+x=_C6 zd%iA_zUsTa*`R>;8@#XxzpQ7xtw*;XReQ**1T1__v}XbRn|p}&69K%uDMi3(V88=` zzzM9tg22EH?7)%$!51OH8bQGxVZkGT!6u=>D#5`o;lVNi!rCChE&L4}Wx^*6zr<@v z;o!nEjKcz)c!#HcI;;jfED%1d2S6OeLaYcxT*OAK2}mpoN?gHAEDKJY!B89wQry8* z91T_+!tJ}oJ0TSFOTWGQNt}zf&6~q%YzAvA2W^}OZyX45EXQ+P5p|pqcia(q91?q6 z5`CN!f7}xPfgBTqToZ+y6Nk*gS-er-w8&ps`Hn`Pd-PULN)?sLc%H@JL9a)Mk*HkEkf%w*O zT~~j#)|Cy0dIgbS-H_h#)S6vbiA~g6J=v0-)InWYN=?!=4H;E!88a=Oug!>8jnlP# z89nXNISt!>ZPPzZACG-jxh>nR&C|#2(^3u8bY0w)vD?7i+fy>z+v(hxG2EXPvKe%5 zAKl&F{oUXl-r_ypMpN_*@yT)_{fK)u@IY z0^+oI;UwO196K?Jq^}d+A=KrEEWTES$cK3Ci!M%G)~Jmm9^)B_4l8%DDlUs5j^Vnv z;T~S%kupq1ET?DXhzNv5?=bk#}bRMepD&cqTJPW($2sEEhZXL5#CVqY>2&s_0 z5!P(2kcORvwV3FPUg%SD=&0@Jwq@W0d4z*~*Jpj;k`5)5{^*`P>YcsRW=)0vke=3` zE+rPZ>T=HJpcz-LUgxlGo3rjYRN7=gdh5`V>p;VzR@0-r?m%{Kmj(ly$6jH>PAb0s zGr*3d%RVZ79_^D}?9`5|wceZ8-bU6wX4{T0{Ry71$)d&i?P}7Udj*@Sg3|t?M5N@Vy@I&G|jsLzf1BCMY>Rr#6*2 z+3;v`l}B2WzDDtB^6wf?AspZF67umNUmqPh^34L3SUHvTK4Qcf>?R){(5CL$nej5e z@*iV7FApCb8tekL@;>jKIZquG=k7s2rTLB+L|^p&e)LM;u-%^YyWaHw_%85N^O_$@ zk~a42QV;V_f0s5d@hu9ZTaO)Gk83mE@@NnCW6vHUzxIAc^=?lyZ6EhYQuc+Z7*J35 zZ=dH>UY#wU?pF_`dOsiNe)B)Cm0~~m_F?zp9{5Rm_ljR?Ob-}&ANeFd`Fm0MmQVPY zzxjp|?w-#rj9;W!Dw*~k`jQX#|7G=csqCm9@}p1hV6XYF-(j6!`woBmxc@o2zxz+a z_)t&#zAqUlZ$(E@{0b@pX_56{_t-YJD>Ldf}j6bLjE9ti6dE> zCz`4&+qy3t%QIcuH=gS|-}^r>*rHr0tzwZt7z6+UB~mDzQmfW0HmluoyWX#eXk;NN zN~RM^1hd=jH#{z%)9W|!QG9Mb3DI8$Ng&Fgo#7#3qT(WB9Uht95}(>dP)4Ch;oxOv zrza<{=ji81F6k<8u<$T3YOBhtWbB_0W-TxD zuJrS5vGp}}w)WL=N-|m>^Y%D-x%qi;H_G>Ej3YGviUVo#B+8T{M2aAJP$kTm zG83}I;PTzfoH}=+t9g?r(4aya7Ri%DnL(UAoW1zvf~hEJQioElO0y`Wqu?R}5+sTm zG+knQ^&<7_nbovv>-mhdbz@gsWO2={rpea{v|!ir?Q5>B)^;U#IJFy=u2jQwr&jap z_;E47W{`5F;}kOH%xtl`ax3_yn_QYllcpybR?^a{S3^Ec87>g0OQYgA>s3Xd%dB_v z4#OFlXMIYW3EDgLEAnZ^H`$K1cpBowi}fbotGhRLkgnej<{_K8Xj|bGD~2xDIql@5 z@TNb@etq%m@?mcOJbdlc_lDMn}6m1S(n~?30hR2a3@`-AcU>`=1p*^ zc@$oR8Is1Jg&KPJ;bvoW7FdHInt0-06RuNXWhlD%A~77c2qTR(nj#}?HtM+JAvku& zBalIY;Uj258hIouD&oUpjz~KBq!2{j2PKtN-k~HxO#WykmtC?TrI%rfxdNDDnt3J$ zWum!emuj;4CX{Z%Ij50w(s}2OcH+4wjC%6(PDvCUqUEQQPe&gd+)z`B|dtW#FIZ9K(t`>iV8f;(<0 z;*xuABIcsIt|Qlulr6jQTBEMK^|C>)z4>y1ufF|q<8Djv`a7^9{1SZd4+bN=unr0{ z{BR8pLp(7I5>tFJnE=})FvcDK3+;;1Ht8|RL0DWe$tR=SvC1o7+_K9P!yNO&Gt<1V z%{L#Mv(5wa+;hJ_1D&tXL)Tlh(eWak^twwkeXi3_j~lhr-%?%mwpU|Kt=3yN+qKum zf*rQ7W0UQx*=OsTw%WF`-L|Z6!@a89bDvtb-J{~2_osXFy{X@SUmCdJlM-I|qlY8D zsN#zs+PLF`LLT{_lT*H@<(J=?x#n~Ka^CrypM$=p=%b%my6I!0o_d(8v)-o0KfR8y z>$6u$gc7;yzB>UN+wL#!WXS$I@E0h7jPYU&u>1fe5+Ahj$Kw-yBmy+g?DO{Go;yL& z_kNW1&S$T^_tLjie)ZQ+J3hPH>wf<3>5I?4(&guVf&Jf47JgC``2Rlu11P`&60m>< zJRkxSsK5m>uz?PIAOs^Q!3k2Zf)>0W1~aI^4RWx99-Lqi76?A|$>M`1JRu5GsKOPp zu!SysAq-027{e&WF_N*2W;`Pr)2PNZvayYBd?Os=D91U{v5t1U UBOddp$2?k(d4BvOAVUBEI}YDhP5=M^ literal 0 Hc-jL100001 diff --git a/src/bin/pgaccess/doc/html/index.html b/src/bin/pgaccess/doc/html/index.html new file mode 100644 index 00000000000..7ccda192907 --- /dev/null +++ b/src/bin/pgaccess/doc/html/index.html @@ -0,0 +1,11 @@ + + +PgAccess + + + + + + + + diff --git a/src/bin/pgaccess/doc/html/irix.html b/src/bin/pgaccess/doc/html/irix.html new file mode 100644 index 00000000000..b678458569e --- /dev/null +++ b/src/bin/pgaccess/doc/html/irix.html @@ -0,0 +1,133 @@ + + + + PgAccess on Irix + + + + +

INSTALLING PgAccess UNDER IRIX 5.3. +

+ +

This HOWO-TO make PgAccess working under Irix +is written by Stuart Rison

+ +

These are the steps that I had to follow to get pgaccess to run on an +INDIGO2 running postgreSQL 6.3.2 under IRIX 5.3. I make no guarantee whatsoever +that the same step will work for others but at least it should point you +in the right direction. Also, I am a biologist by training so I only got +pgaccess working by fudging (that is, trial and error) this means that +some of the steps may be unnecessary (e.g. compiling $postgreSQL_source/src/interfaces/libpgtcl +as both a shared and static library) and they certainly haven't been optimised +(I know nothing about compiler switches etc.).

+ +

1) Requirements:

+ +
    +

    You will need:

    + +
      +
    • postgreSQL source (http://www.postgresql.org)
    • + +
    • tcl8.0 source (http://www.tclconsortium.org/)
    • + +
    • tk8.0 source (http://www.tclconsortium.org/)
    • + +
    • pgaccess source (http://www.flex.ro/pgaccess)
    • +
    +
+ +

2) Installation:

+ +

a) tcl/tk:

+ +
    +

    You must first install tcl and then tk (in that order). I just used +./configure, no switches and gmake. Their installation should be trouble +free. Then you must move headers and libraries to the right places so:

    + +

    Header files: both tcl and tk have a header file (tcl.h and tk.h). The +tcl.h file is in $tcl_source_dir/generic and the tk.h file is in $tk_source_dir/generic; +both should be copied to /usr/local/include.

    + +

    Libraries: compilation (with cc) of tcl and tk yield libraries libtcl8.0.a +and libtk8.0.a in $source_dir/unix. Both should be copied to /usr/local/lib.

    +
+ +

b) postgreSQL:

+ +
    +

    Make sure you have a fully patched postgreSQL source. If your ./configure +says it can't load 'IRIX' settings then you most probably will need to +patch ./configure.

    + +

    Configure using ./configure with the following switches: ./configure +--with-includes=/usr/local/include

    + +

    --with-libraries=/usr/local/lib --with-tcl [this and previous line as +one]

    + +

    Then make, make install as usual

    +
+ +

c) Compiling libpgtcl:

+ +
    +

    The source for libpgtcl is in $postgreSQL_directory/src/interfaces/libpgsql.

    + +

    I do this twice. Once with just gmake. This produces a static library +libpgtcl.a which I leave where it is (I don't know what to do with it but +it may just come in handy). The I modify Makefile manually with a text +editor. Essentially I modify two line:

    + +

    before:

    + +

    # Shared library stuff

    + +

    install-shlib-dep := shlib :=

    + +

    after:

    + +

    # Shared library stuff

    + +

    install-shlib-dep := install-shlib shlib := libpgtcl.so.1

    + +

    Then gmake -f Makefile_modified. This creates two shared (.so) libraries: +libpgtcl.so and libpgtcl.so.1. I can't tell the difference between them +so I copied them both to /usr/lib/.

    +
+ +

d) running pgaccess:

+ +
    +

    Uncompress pgaccess (usually with gunzip and tar). So long as 'wish' +(a binary produced when compiling tk8.0) is somewhere in your path, you +should be able to run pgaccess with:

    + +

    wish -f $pgaccess_dir/pgaccess.tcl [postgreSQL_database_name]

    +
+ +

e) et voila!

+ +

3) Concluding remarks:

+ +
    +

    As I stated at the start of this document, following the procedure indicated +above worked for me. I am sure, however, that a few of the steps are unnecessary/non-optimised/stupid +etc. If any Unix (IRIX) boffin is reading this and you spot anything you +would like to comment/correct etc. please e-mail me (stuart@ludwig.ucl.ac.uk). +Also, if you just have questions and think I might help, please contact +me at the same e-mail.

    + +

    Finally, I can accept no responsibility if these steps don't work for +you or if it all goes horribly wrong and you 'damage' your computer trying +them. Let common sense prevail!

    +
+ +

Good luck

+ +

Stuart Rison LICR University College London London W1P 8BT
+stuart@ludwig.ucl.ac.uk

+ + + diff --git a/src/bin/pgaccess/doc/html/linux1.gif b/src/bin/pgaccess/doc/html/linux1.gif new file mode 100644 index 0000000000000000000000000000000000000000..b98ac024d735a911da2481054ac9af3ed448282b GIT binary patch literal 789 zc-nLKbhEHbj9`#wXklRZ4+Lk<{GU1VKZEfZAV^C)V{Ci|$Yx-e2?WN*GZ}!0Aq@nK z(-?q=!59P>j2S>I20}pbpS)A0f_G|JW}bpaX?jL#v5rDEh?n7znpvWkoS(~}15yWa zjsxp|1;xIU%y}8B*5#}=b8%HE5mikN;yE1ju+xpzE#rZbD1&a%Y||-+J0@Q1=ny*5 zHj!0%U4l{6p|;)c_ET^X4<_=_9VCn-lM3o0QqHQi z^?LSECr)_yn4L+nJd+nHdd25t)U}Z7^XnGmt42?#R!wTY-}*eJpurR-X*@@Ou>ta3ARc zr&Mjxq9)O)|6@unX+NHaw)Xb+g2$)kdT-B*nf2+@ ztGVVcrIx5ODLhDhF1{dSYlGXj%mjvm4Ry_tES*}-eUs(=531Iwnl(0aiYoXh6s)=^ zuQB}?&zi&2J_+{+3oOo>rNfp!X|uqJg-RLRLR0%A(p;?qPwU@eQf}YdyMBq(a);no zhi(+H9Z%S2H2*`>pZSku&h?Are5&465P#@s&8vG`B%Gf;P<$lxZP_0$=kl&OMshw= zF5SF)Q_Lqsq-DFCZr*{3g5_e-4hJWCrM&&fQN2}Dy~$T7Y{3C0o*xC?l2Vx;olQ># z6i<*bUm$YDNk_r)Y_~zsk^3nxB+LbjwjY?Wz*s+O>!~;gwv*yvDN`Rztv8aH+!3+# s$B7g{2VWyk85NI%ED_?fT2pyuNItvYn%R5k+BAKR%x5##0<(cN0IqF6T>t<8 literal 0 Hc-jL100001 diff --git a/src/bin/pgaccess/doc/html/maillist.html b/src/bin/pgaccess/doc/html/maillist.html new file mode 100644 index 00000000000..4e0ce850c96 --- /dev/null +++ b/src/bin/pgaccess/doc/html/maillist.html @@ -0,0 +1,43 @@ + + + + + + + + +

The mailing list for PgAccess is :       pgsql-interfaces@postgresql.org

+ +

If you have some questions regarding PgAccess you should mail to this +address. I will also answer to messages addresed directly to me but it +would be better to post your messages here because it might be possible +to get an answer quickly from another user of PgAccess.

+ +

+


+ +

To subscribe please send a mail message to :

+ +

     pgsql-interfaces-request@postgresql.org + 

+ +

having a single line in the body message :      subscribe

+ +

In a couple of minutes , if everything is ok, you must receive something +like that :

+ +

+


+ +

Welcome to the pgsql-interfaces mailing list!

+ +

Please save this message for future reference. Thank you.

+ +

If you ever want to remove yourself from this mailing list, you +can send mail to <Majordomo@hub.org> with the following command in +the body of your email message:

+ +

unsubscribe pgsql-interfaces yourname@yourdomain

+ + + diff --git a/src/bin/pgaccess/doc/html/main.html b/src/bin/pgaccess/doc/html/main.html new file mode 100644 index 00000000000..2bddfd61d4a --- /dev/null +++ b/src/bin/pgaccess/doc/html/main.html @@ -0,0 +1,34 @@ + + + + + + + + +

+PgAccess +

+A free graphical database management tool for PostgreSQL. +PgAccess has been written by Constantin Teodorescu +using Visual Tcl, the best tool for developing Tcl/Tk applications I've +ever seen. +

Last version +
Last stable version is 0.98 , released on 29 August 1999. Read what's +new in 0.98. +

Portability issues +
PgAccess is available for every platform where PostgreSQL was ported +and where a Tcl/Tk package is available. PgAccess has been reported running +on : +
- Linux +
- FreeBSD +
- Solaris +
- HPUX +
- Irix +
- Windows 95,98,NT +

PgAccess needs Tcl/Tk versions 8.0.x and higher thought PgAccess. For +win32 platforms there are some special DLL's that have to be downloaded +and installed, more information here. +

PgAccess is protected by the following copyright. + + diff --git a/src/bin/pgaccess/doc/html/mainwindow.gif b/src/bin/pgaccess/doc/html/mainwindow.gif new file mode 100644 index 0000000000000000000000000000000000000000..6a48792d194b5230566665f2e00725f1fb6ace27 GIT binary patch literal 8857 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 bW~EkcC0BN(SAHc}hNW1JC0QOt0000x^?_;D literal 0 Hc-jL100001 diff --git a/src/bin/pgaccess/doc/html/newtable.gif b/src/bin/pgaccess/doc/html/newtable.gif new file mode 100644 index 0000000000000000000000000000000000000000..891d05698f9d32750cf9bfd6e755b312103e61e6 GIT binary patch literal 9317 zc-jGFB%0etNk%v~VS)mr0mJ|R-rnBD!o}Xg#Q*>R_V)HcL_q)mdjJ4)003$L0Ac_D zS^xl2002q=06_o%IRF4L001cf03ZMW7ytke000R8|NnDwbEKi9-rC-rnVf@xgS0SW z000000000000000EC2ui0D=Of0YC-+ARvxpX`X1Ru59bRa4gSsZQppV?|kq7z@Tu5 z3J3rL03pC^I-k%e(_(p6p9O<q@|{%52>oFtgWuC5V5ke zw6(Ui5xKg%yuH4@62Zd5#Kp$N6UoZU%+1ct6w%Vt)YaD21KHZ!+}+;XOH$(F6;x2= zS55^<;p6U6=1%ENSz%sZU10ZQ_+JKHX6~s0cz~e5GX^Wnv7-=y7l#k)Nc8fjqQyUl zGHNvRsG~7jtESCg$8zd4_N=E*XV-!Xwf3#3 z(QfVDDGh+mNmD56lrX_SwW`&tShH%~%C)Q4uVBN99ZR;X*|TWVs$I*rt=qS749vBTJr4xw7TUm@{jJ3|2#hws_f1 z%{stpX{x7BV@Qpft7_J*SI36k__3D(U2s>>y*u}9-+y`Q<_&zaam=J+%U-@*b=B9( zqkDZUy!db6)q86{&b_<$@8H8H#_GJPXV3xij&97pz5Dm@{qIOeG1jy(40V}9w;_~Vd77HQ;>NG7QyTKeg=WLyJe zpkje7O>v`Cmnj!uN9djXeC|zSwPO0Uciirr_ zYjMswB6cNOhv%4Hb?H@~<-Iu{nBR%1R-zw9dR3pMNs5-4cLlj0nVfd&>8GIXNNA{C zVOkZMHCC!-e`3)lAbX4sD(hcbX<+NExSC2{He0#bp09AZ%4uO`UHK@fbD@eXTCvXR zY^@taE3LGns>-MTqPzyEjcM7!Y3a78LCWiM<4(G2w`+b{tyQ{KTJD>aZd)3p95z?3 zpUZBgY`*;V>+in+2h7#JR1rEaR))3}ublUWE2q7y9qg^Zovq6jhz_UA+*=9v3ooLQ zj!Wsk?NY3-rcM@IsKq7&+;Onvz4x-f#U5X5!u`0`_>}DGF{mU}mp;)!Aux z?)m4Shc5d6=%L>&q*WO#rTXfux9`n~ej_ploL;LQ$_wM`ezy~k96ras} zRmW`StM$&Q_N)}{*#v;Q^wbY;{q@*q55@G{=kC4sz<1w06Vq?+z4%X*5B~b>17Cdd znOEIvqSu}qH)#?_jB#sp-)#D(sJom12S~sI8c;Iv;|lUxwmiHA@PH7Epadr0S%GCSm&weh`O=jEQ)V-# zNlhvp6Pb)`o+GQt&2D<s#Bc7+$KXON=<`Wafvj{B}F%CPpC2f zg>6i^<6HE!KRr&2V+egCM^}1Ik2+;cPgtYC0NTEq+VrM4&8bdz%F~|u^rt|j5c>*1 z)S?>os7Ot!QkTlqraJYhP>rfor%KhTTJ@?}&8k+n%GIuV^{ZeFt5~a=l%dkdDdU(2 z6E48kwp!o<6@V*T)tVlC_=6u>$j3kKnpc11qaYOsNMO;B5WoudumHIOLlz>3i9qDB z5V?qCFS3!!Zsa4F{m4i*JCc)l*0U=K?Mhxk+Lz4av@^MhYE`?F*6!pdu>HwUW;>Ll z*w!dzJx2iO`VMsPmL6waUp>Y^+~N|K4aiOI8WzIb<~kP-lZ`GQEK6NPWcIrMkl?I# zG4a{%fY-*BZ#>|W9?kHMI&BO zBSkeuc8;t=tevG(MB=y#GlLuCsI}zJVMwH(5ea-? zSzj=v*aWpGYX&U1#8_524%M+MQ|m=ybjR3SHW?>P?P{|J(Rpk&m_^1WKiyi}CDry? zq}@emO>0^#OEVww^{|q5+g$AqaI7EJDXZaZVkY&Yr`^=gc;^h!86-CstxfQP$7O5q z`=!Bgq;MrQeBsEtw=EIAD&{==)&6diyxpBHMLqQ5Z5uGT{0$e7Kj~u(%XG(Q%3pR0 z#>T4lvt(k9VwoE=YB9w*)v8iyPF*^oaxPBHZQh%s1tvQbCi><7T*@+>%hW7JoHxEJ zu5w@33fRI_x{HP$G|3%~>v=lS(q1n1#5Jy^4(0hlpB+enYklj70sGs(nf8aC@OkIU zJNbah_r9x+d(it{?fgCt+Zn!kh*#g>50AdV6aMkpd!OdycTtFD)OnE4yyiF0`ObUZ zr;;z#)4Rf&Qb)a4?_QIK*Ig>CyM6AkkD^7LZFy+FKK8h0W!=^3^4$AglDiLQ?|)DH za__$9Wcs;Ei_d&g9{-2*j=skFI44hsMfn?1PWZ;fw$LA?!X` zxIuc<7mM9WtbNMIz+Ejo41gJv#L^=qVfC{*Pr6Yj# zRDclJLFpuXftGa{tP-7>};#im@1rv`CA$n2)-si@n&3zzB@P z7?8$jjLDdc%*c$+h+Dt&6i)#a!8MH+V2#!Y6?V0aWMGlnsEvlj28A__2vLq8$z1N( zSPemvkd=z@sEYI0iuDMK_c)9Bc#Hd(i~Y!p|M-gmIgA5Yj0K5|2f2(1SrpJXJLu4m z4!Ivg6^cqZ2Bg@O%Y}+ixezI-k}FAFEs0(KFS%VYX^S%%UNuQxH+fz;DU3VWUOfq4 zKRI7P`3*z)I^{q-*!Yl}IG1!;mv(uVcxjjU1#x`Ymws7r0GBgbHkgE2m`B!RhMAa( zxtNUEn2!0FhY4uGZ)5@{U?+EU7C~5JnHUFvf3g{x>4<_jd20c1qn3ys$9f>6 zh<%Z2LKmA5hIE@*K-8CUsRwId(Pk&YIBpgw5JsATQA7=6a$13!o3?tqwqS_Ze{=I8 z4fC227H1Q-HxkxoNOxhJiD@KvL~Md)V?iP$Hl9dxVxw7y$#$9*m}jFjW5Nj`q~n5E z_m}ippZ2+5foU@%_(bmcp2#Mdm*-{w-46C6=8IDmgGWXWIdxm?NQGW=k8YL;V?aD#{>t);#xl zqi^w|Gm0E6if1_bqd*#@p|U}o!+=J5q)3{iO1h*>+N4hUq)-~AQaYtnTBTNcrC9no zJ!+#u+NEClr9_gSCKDy8WOa0*qd%x@v=$cfxg=%?nyM0~ULtIvl$vE0bZ}NB>G>&W z>OyR)FzzR(_tT+fiZJupCPT!U``4Q6_a1brNvXMSD^{qv)SJIqn`ne!uJ&qfGluoi zr-RXKc+{NMN1zx=sq8YJi6$lg=V?YD)^ElpKzr&bpeh)mx}b52F1^N`{Rf?JdVQ*z zGh{kSs2Z#3r=~Rer#~7LbwGNw zNn0OG8!9j>iFOxgMVmzbPYZAI%54j~u3C$z(TPo0%bf+AfB)2`Mv}1~3ubJ{dsJ(h zKwB4K>l%W}7jc^;QJX#n)F zVQbO3sC&B&MToVcyDF0wrPrMcJG;RffRi|YZ%Db=L1C!2g=SMwIol(5YaWcaB4vj- zeiJzxML9*sB8_vM)p>T`8#%~(be}tRYG9(+L{+@Udx zt9v2Bv17wGJj6s?#73+-IjpnKE4O=6brUOft=Yq=%7@E`zz~Xsfy%X>DZAXVZNfXe zS4YL!XT|=B#UVVsWL(C_x443f#%U~^3M@u$_{NPG$NzP}bWECd{7Q42$9A~KGK

Ge1znX7lh|JYIgx3rz)cnm)7|x$E&g7hg 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 X7}~T>`?OFSwNg8^R67X*Apih7So?qE literal 0 Hc-jL100001 diff --git a/src/bin/pgaccess/doc/html/old_index.html b/src/bin/pgaccess/doc/html/old_index.html new file mode 100644 index 00000000000..4bbf11fcf07 --- /dev/null +++ b/src/bin/pgaccess/doc/html/old_index.html @@ -0,0 +1,143 @@ + + + + + + PgAccess - a Tcl/Tk PostgreSQL interface + + + +

+PgAccess - a free database management tool for PostgreSQL

+ +
+
  • +Download the last version of PgAccess (press +shift and click this link) (tar.gz file)  or   this +one (zip file for Windows)
  • + +
    +


    Latest stable version of PgAccess is 0.97 , released 16 August 1999 +! +

    PgAccess 0.93 and higher will not work from the beginning +with PostgreSQL 6.3.x !! +
    Read here how to apply a +simple patch in order to make it work !

    + +
    + + + + + + + + + + + +
    NEWInternational version +(english, french, italian, romanian)
    NEWContext sensitive Help
    + +
    +

    Precompiled libpgtcl and libpq binaries and dll's for i386 are here +!!!

    + +

    +Installation problems

    + + + +

    +What does PgAccess now!

    +Here are some screenshots from PgAccess windows : Main +window , table builder , table(query) +view , visual query builder . +

    Tables +
    - opening multiple tables for viewing, max. n records (changed by preferences +menu) +
    - column resizing, dragging the vertical grid line (better in table +space rather than in the table header) +
    - text wrap in cells - layout saved for every table +
    - import/export to external files (SDF,CSV) +
    - filter capabilities (enter filter like (price>3.14) +
    - sort order capabilities (enter manually the sort field(s)) +
    - editing in place +
    - improved table generator assistant +
    - improved field editing +
    Queries +
    - define , edit and stores "user defined queries" +
    - store queries as views +
    - execution of queries with optional user input parameters ( select +* from invoices where year=[parameter "Year of selection"] ) +
    - viewing of select type queries result +
    - query deleting and renaming +
    - visual query builder with drag & drop capabilities. For any of +you who had installed the Tcl/Tk plugin for Netscape Navigator, you can +see it at work clicking here +
    Sequences +
    - defines sequences, delete them and inspect them +
    Functions +
    - define, inspect and delete functions in SQL, plpgsql and pgtcl languages +
    Reports +
    - design and display simple reports from tables +
    - fields and labels, font changing, style and size +
    - saves and loads report description from database +
    - show report previews, sample postscript output file +
    Forms +
    - open user defined forms +
    - form design module available +
    - query widget available, controls bound to query results +
    - click here for a description of forms and +how they can be used +
    Scripts +
    - define, modify and call user defined scripts +
    Users +
    - define and modify user information +

    Here is a special section concerning forms and +scripts . +

    This program is protected by the following copyright +

    If you have any comment, suggestion for improvements, please feel free +to e-mail to : teo@flex.ro +

    Mailing list for PgAccess Here +you will find how to subscribe to this mailing list. +

    +


    +

    +More information about libpgtcl - downloads

    +     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. +

         One of the solutions is to remove from the +source the line containing load libpgtcl.so and to load pgaccess.tcl +not with wish, but with pgwish (or wishpg) that wish that was linked with +libpgtcl library! I do not recommend this one. +

         If you have installed RedHat 5.x, you should +get the last distribution kit of PostgreSQL and compile it from scratch. +RedHat 5.x is using some new versions of libraries and you have to compile +and install again at least libpq and libpgtcl libraries. +

        PostgreSQL 6.4 release has a minor bug. I does not +include by default the crypt lib when compiling libpgtcl. So, you will +need to manually add a -lcrypt to SHLIB line in Makefile in src/interfaces/libpgtcl +and then make clean and make again. The new libpgtcl.so library is properly +configured to run pgaccess. +
      + + diff --git a/src/bin/pgaccess/doc/html/permissions.gif b/src/bin/pgaccess/doc/html/permissions.gif new file mode 100644 index 0000000000000000000000000000000000000000..06c43491e07da0fe7a9fd7bb63f23eaf2aff968a GIT binary patch literal 10414 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 + + + + + + + +

    +PgAccess 0.93 patch to make it work with PostgreSQL 6.3.x +

    + +


    PgAccess 0.93 is working fine with PostgreSQL 6.4.x due to some +changes in libpgtcl ! +

    There is a small patch that you have to make in order to make it work +with 6.3.x ! +

    Replace in procedure wpg_exec the following line: +

    set pgsql(errmsg) [pg_result $pgsql(res) -error] +

    with this one : +

    set pgsql(errmsg) "NO ERROR INFORMATION SUPPLIED" +

    And it will work fine! In some error cases, you will not get the appropriate +error message from libpgtcl. +

     Back + + diff --git a/src/bin/pgaccess/doc/html/pga-rad.html b/src/bin/pgaccess/doc/html/pga-rad.html new file mode 100644 index 00000000000..7564cf7b553 --- /dev/null +++ b/src/bin/pgaccess/doc/html/pga-rad.html @@ -0,0 +1,65 @@ + + + + + + + +

    +PgAccess - Scripts and Forms  +

    +Beginning with 0.70 version, I have introduced in PgAccess two new modules +for operating with scripts and forms. + +

       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. +
      +
       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. + +

       This mechanism and the extremely versatile scripting mode +of Tcl/Tk would give PgAccess a great power for creating end user application +using PostgreSQL. The most important thing is that the user could call +procedures and functions that I have used for building up PgAccess ! +

    +Forms

    +   Forms are used for creating windows and placing widgets inside +it. When PgAccess interpret them, a new window appear, with buttons as +defined that could call "user defined scripts", "user defined procedures" +or "internal PgAccess procedures". +
       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. See the  special +section concerning forms. +

    +Scripts

    +   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. +
       The most important thing is that you have total access +to the PgAccess core of functions and procedures used by me in building +PgAccess as an application. Just write open_table +"Your sample table" and you'll see the result. +
       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 execute_script +"My own procedure library" or open a form with open_form +"Main window with menu buttons" , and so on. + +

    +


    +
    Remember : I'm waiting your messages at teo@flex.ro + +

    +


    + + diff --git a/src/bin/pgaccess/doc/html/qbtclet.html b/src/bin/pgaccess/doc/html/qbtclet.html new file mode 100644 index 00000000000..b990c0f15c3 --- /dev/null +++ b/src/bin/pgaccess/doc/html/qbtclet.html @@ -0,0 +1,45 @@ + + + Visual Query Builder in Tcl/Tk + +

    Visual Query Builder

    +
    +This visual query builder is included in +PgAccess, a visual interface to + PostgreSQL written entirely in +vTcl , (Visual Tcl). + + +

    + + + +

    + +
    + + +Visual Query Designer demo
    +Click here to download the source +created by Constantin Teodorescu with vTcl (visual Tcl), teo@flex.ro +
    +Facitilies
    + - drag and drop selection of fields
    + - drag and drop fields from a table to another do create links
    + - move table position by dragging
    + - point and click any link or table then press delete to delete them
    + - modify sort order by clicking on (unsorted)
    + - enter filter conditions as criteria (>2000 , ='item')
    + - easy panning of table and result panels
    + - show SQL command
    +
    +If you want to use it for your database, modify ql_read_struct in order to read + your table structure. +
    +Feel free to use, modify or copy this software for non-commercial purposes.
    +In any other case, please contact me. +
    +FLEX Consulting Braila, ROMANIA is able to deliver high end interfaces +and any other commercial products written in Tcl/Tk just like that you have seen. + + diff --git a/src/bin/pgaccess/doc/html/qbtclet.tcl b/src/bin/pgaccess/doc/html/qbtclet.tcl new file mode 100644 index 00000000000..9d086a33900 --- /dev/null +++ b/src/bin/pgaccess/doc/html/qbtclet.tcl @@ -0,0 +1,529 @@ +################################# +# GLOBAL VARIABLES +# +global qlvar; +global widget; + +################################# +# USER DEFINED PROCEDURES +# +proc init {argc argv} { +global qlvar +set qlvar(yoffs) 360 +set qlvar(xoffs) 50 +set qlvar(reswidth) 150 +} + +init $argc $argv + +proc main {argc argv} { + +} + +proc show_message {usrmsg} { +global msg +set msg $usrmsg +after 2000 {set msg {}} +} + +proc ql_delete_object {} { +global qlvar +# Checking if there +set obj [.c find withtag hili] +if {$obj==""} return +if {[ql_get_tag_info $obj link]=="s"} { +# if {[tk_messageBox -title WARNING -icon question -message "Remove link ?" -type yesno -default no]=="no"} return + show_message "Deleting the link from tables ..." + set linkid [ql_get_tag_info $obj lkid] + set qlvar(links) [lreplace $qlvar(links) $linkid $linkid] + .c delete links + ql_draw_links +} else { + set tablename [ql_get_tag_info $obj tab] + if {$tablename==""} return +# if {[tk_messageBox -title WARNING -icon question -message "Remove table $tablename from query ?" -type yesno -default no]=="no"} return + show_message "Deleting table from query ..." + for {set i [expr [llength $qlvar(restables)]-1]} {$i>=0} {incr i -1} { + if {$tablename==[lindex $qlvar(restables) $i]} { + set qlvar(resfields) [lreplace $qlvar(resfields) $i $i] + set qlvar(restables) [lreplace $qlvar(restables) $i $i] + set qlvar(rescriteria) [lreplace $qlvar(rescriteria) $i $i] + } + } + for {set i [expr [llength $qlvar(links)]-1]} {$i>=0} {incr i -1} { + set thelink [lindex $qlvar(links) $i] + if {($tablename==[lindex $thelink 0]) || ($tablename==[lindex $thelink 2])} { + set qlvar(links) [lreplace $qlvar(links) $i $i] + } + } + .c delete tab$tablename + .c delete links + ql_draw_links + ql_draw_res_panel +} +} + +proc ql_dragit {w x y} { +global draginfo +if {"$draginfo(obj)" != ""} { + set dx [expr $x - $draginfo(x)] + set dy [expr $y - $draginfo(y)] + if {$draginfo(is_a_table)} { + set taglist [.c gettags $draginfo(obj)] + set tabletag [lindex $taglist [lsearch -regexp $taglist "^tab"]] + $w move $tabletag $dx $dy + ql_draw_links + } else { + $w move $draginfo(obj) $dx $dy + } + set draginfo(x) $x + set draginfo(y) $y +} +} + +proc ql_dragstart {w x y} { +global draginfo +catch {unset draginfo} +set draginfo(obj) [$w find closest $x $y] +if {[ql_get_tag_info $draginfo(obj) r]=="ect"} { + # If it'a a rectangle, exit + set draginfo(obj) {} + return +} +. configure -cursor hand1 +.c raise $draginfo(obj) +set draginfo(table) 0 +if {[ql_get_tag_info $draginfo(obj) table]=="header"} { + set draginfo(is_a_table) 1 + .c itemconfigure [.c find withtag hili] -fill black + .c dtag [.c find withtag hili] hili + .c addtag hili withtag $draginfo(obj) + .c itemconfigure hili -fill blue +} else { + set draginfo(is_a_table) 0 +} +set draginfo(x) $x +set draginfo(y) $y +set draginfo(sx) $x +set draginfo(sy) $y +} + +proc ql_dragstop {x y} { +global draginfo qlvar +. configure -cursor top_left_arrow +set este {} +catch {set este $draginfo(obj)} +if {$este==""} return +# Re-establish the normal paint order so +# information won't be overlapped by table rectangles +# or link linkes +.c lower $draginfo(obj) +.c lower rect +.c lower links +set qlvar(panstarted) 0 +if {$draginfo(is_a_table)} { + set draginfo(obj) {} + .c delete links + ql_draw_links + return +} +.c move $draginfo(obj) [expr $draginfo(sx)-$x] [expr $draginfo(sy)-$y] +if {($y>$qlvar(yoffs)) && ($x>$qlvar(xoffs))} { + # Drop position : inside the result panel + # Compute the offset of the result panel due to panning + set resoffset [expr [lindex [.c bbox resmarker] 0]-$qlvar(xoffs)] + set newfld [.c itemcget $draginfo(obj) -text] + set tabtag [ql_get_tag_info $draginfo(obj) tab] + set col [expr int(($x-$qlvar(xoffs)-$resoffset)/$qlvar(reswidth))] + set qlvar(resfields) [linsert $qlvar(resfields) $col $newfld] + set qlvar(ressort) [linsert $qlvar(ressort) $col unsorted] + set qlvar(rescriteria) [linsert $qlvar(rescriteria) $col {}] + set qlvar(restables) [linsert $qlvar(restables) $col $tabtag] + ql_draw_res_panel +} else { + # Drop position : in the table panel + set droptarget [.c find overlapping $x $y $x $y] + set targettable {} + foreach item $droptarget { + set targettable [ql_get_tag_info $item tab] + set targetfield [ql_get_tag_info $item f-] + if {($targettable!="") && ($targetfield!="")} { + set droptarget $item + break + } + } + # check if target object isn't a rectangle + if {[ql_get_tag_info $droptarget rec]=="t"} {set targettable {}} + if {$targettable!=""} { + # Target has a table + # See about originate table + set sourcetable [ql_get_tag_info $draginfo(obj) tab] + if {$sourcetable!=""} { + # Source has also a tab .. tag + set sourcefield [ql_get_tag_info $draginfo(obj) f-] + if {$sourcetable!=$targettable} { + lappend qlvar(links) [list $sourcetable $sourcefield $targettable $targetfield $draginfo(obj) $droptarget] + ql_draw_links + } + } + } +} +# Erase information about onbject beeing dragged +set draginfo(obj) {} +} + +proc ql_draw_links {} { +global qlvar +.c delete links +set i 0 +foreach link $qlvar(links) { + # Compute the source and destination right edge + set sre [lindex [.c bbox tab[lindex $link 0]] 2] + set dre [lindex [.c bbox tab[lindex $link 2]] 2] + # Compute field bound boxes + set sbbox [.c bbox [lindex $link 4]] + set dbbox [.c bbox [lindex $link 5]] + # Compute the auxiliary lines + if {[lindex $sbbox 2] < [lindex $dbbox 0]} { + # Source object is on the left of target object + set x1 $sre + set y1 [expr ([lindex $sbbox 1]+[lindex $sbbox 3])/2] + .c create line $x1 $y1 [expr $x1+10] $y1 -tags [subst {links lkid$i}] -width 3 + set x2 [lindex $dbbox 0] + set y2 [expr ([lindex $dbbox 1]+[lindex $dbbox 3])/2] + .c create line [expr $x2-10] $y2 $x2 $y2 -tags {links} -width 3 + .c create line [expr $x1+10] $y1 [expr $x2-10] $y2 -tags [subst {links lkid$i}] -width 2 + } else { + # source object is on the right of target object + set x1 [lindex $sbbox 0] + set y1 [expr ([lindex $sbbox 1]+[lindex $sbbox 3])/2] + .c create line $x1 $y1 [expr $x1-10] $y1 -tags [subst {links lkid$i}] -width 3 + set x2 $dre + set y2 [expr ([lindex $dbbox 1]+[lindex $dbbox 3])/2] + .c create line $x2 $y2 [expr $x2+10] $y2 -width 3 -tags [subst {links lkid$i}] + .c create line [expr $x1-10] $y1 [expr $x2+10] $y2 -tags [subst {links lkid$i}] -width 2 + } + incr i +} +.c lower links +.c bind links {ql_link_click %x %y} +} + +proc ql_draw_lizzard {} { +global qlvar +ql_read_struct +.c delete all +set posx 20 +for {set it 0} {$it<$qlvar(ntables)} {incr it} { + ql_draw_table $it +# set posy 10 +# set tablename $qlvar(tablename$it) +# .c create text $posx $posy -text $tablename -anchor nw -tags [subst {tab$tablename f-oid mov tableheader}] -font -Adobe-Helvetica-Bold-R-Normal-*-*-120-*-*-*-*-* +# incr posy 16 +# foreach fld $qlvar(tablestruct$it) { +# .c create text $posx $posy -text $fld -anchor nw -tags [subst {f-$fld tab$tablename mov}] -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* +# incr posy 14 +# } +# set reg [.c bbox tab$tablename] +# .c create rectangle [lindex $reg 0] [lindex $reg 1] [lindex $reg 2] [lindex $reg 3] -fill #EEEEEE -tags [subst {rect tab$tablename}] +# .c create line [lindex $reg 0] [expr [lindex $reg 1]+15] [lindex $reg 2] [expr [lindex $reg 1]+15] -tags [subst {rect tab$tablename}] +# set posx [expr $posx+40+[lindex $reg 2]-[lindex $reg 0]] +} +.c lower rect +.c create line 0 $qlvar(yoffs) 10000 $qlvar(yoffs) -width 3 +.c create rectangle 0 $qlvar(yoffs) 10000 5000 -fill #FFFFFF +for {set i [expr 15+$qlvar(yoffs)]} {$i<500} {incr i 15} { + .c create line $qlvar(xoffs) $i 10000 $i -fill #CCCCCC -tags {resgrid} +} +for {set i $qlvar(xoffs)} {$i<10000} {incr i $qlvar(reswidth)} { + .c create line $i [expr 1+$qlvar(yoffs)] $i 10000 -fill #cccccc -tags {resgrid} +} +# Make a marker for result panel offset calculations (due to panning) +.c create line $qlvar(xoffs) $qlvar(yoffs) $qlvar(xoffs) 500 -tags {resmarker resgrid} +.c create rectangle 0 $qlvar(yoffs) $qlvar(xoffs) 5000 -fill #EEEEEE -tags {reshdr} +.c create text 5 [expr 1+$qlvar(yoffs)] -text Field: -anchor nw -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -tags {reshdr} +.c create text 5 [expr 16+$qlvar(yoffs)] -text Table: -anchor nw -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -tags {reshdr} +.c create text 5 [expr 31+$qlvar(yoffs)] -text Sort: -anchor nw -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -tags {reshdr} +.c create text 5 [expr 46+$qlvar(yoffs)] -text Criteria: -anchor nw -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -tags {reshdr} +.c bind mov {ql_dragstart %W %x %y} +.c bind mov {ql_dragit %W %x %y} +bind . {ql_dragstop %x %y} +bind . {qlc_click %x %y %W} +bind . {ql_pan %x %y} +bind . {ql_delete_object} +set qlvar(resfields) {} +set qlvar(ressort) {} +set qlvar(rescriteria) {} +set qlvar(restables) {} +set qlvar(critedit) 0 +set qlvar(links) {} +set qlvar(linktodelete) {} +} + +proc ql_draw_res_panel {} { +global qlvar +# Compute the offset of the result panel due to panning +set resoffset [expr [lindex [.c bbox resmarker] 0]-$qlvar(xoffs)] + .c delete resp + for {set i 0} {$i<[llength $qlvar(resfields)]} {incr i} { + .c create text [expr $resoffset+4+$qlvar(xoffs)+$i*$qlvar(reswidth)] [expr 1+$qlvar(yoffs)] -text [lindex $qlvar(resfields) $i] -anchor nw -fill navy -tags {resf resp} -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* + .c create text [expr $resoffset+4+$qlvar(xoffs)+$i*$qlvar(reswidth)] [expr 16+$qlvar(yoffs)] -text [lindex $qlvar(restables) $i] -anchor nw -tags {resp rest} -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* + .c create text [expr $resoffset+4+$qlvar(xoffs)+$i*$qlvar(reswidth)] [expr 31+$qlvar(yoffs)] -text [lindex $qlvar(ressort) $i] -anchor nw -tags {resp sort} -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* + if {[lindex $qlvar(rescriteria) $i]!=""} { + .c create text [expr $resoffset+4+$qlvar(xoffs)+$i*$qlvar(reswidth)] [expr $qlvar(yoffs)+46+15*0] -anchor nw -text [lindex $qlvar(rescriteria) $i] -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -tags [subst {resp cr-c$i-r0}] + } + } + .c raise reshdr + .c bind sort {ql_swap_sort %W %x %y} +} + +proc ql_draw_table {it} { +global qlvar + +set posy 10 +set allbox [.c bbox rect] +if {$allbox==""} {set posx 10} else {set posx [expr 20+[lindex $allbox 2]]} +set tablename $qlvar(tablename$it) +.c create text $posx $posy -text $tablename -anchor nw -tags [subst {tab$tablename f-oid mov tableheader}] -font -Adobe-Helvetica-Bold-R-Normal-*-*-120-*-*-*-*-* +incr posy 16 +foreach fld $qlvar(tablestruct$it) { + .c create text $posx $posy -text $fld -anchor nw -tags [subst {f-$fld tab$tablename mov}] -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* + incr posy 14 +} +set reg [.c bbox tab$tablename] +.c create rectangle [lindex $reg 0] [lindex $reg 1] [lindex $reg 2] [lindex $reg 3] -fill #EEEEEE -tags [subst {rect tab$tablename}] +.c create line [lindex $reg 0] [expr [lindex $reg 1]+15] [lindex $reg 2] [expr [lindex $reg 1]+15] -tags [subst {rect tab$tablename}] +} + +proc ql_get_tag_info {obj prefix} { +set taglist [.c gettags $obj] +set tagpos [lsearch -regexp $taglist "^$prefix"] +if {$tagpos==-1} {return ""} +set thattag [lindex $taglist $tagpos] +return [string range $thattag [string length $prefix] end] +} + +proc ql_link_click {x y} { +global qlvar + +set obj [.c find closest $x $y 1 links] +if {[ql_get_tag_info $obj link]!="s"} return +.c itemconfigure [.c find withtag hili] -fill black +.c dtag [.c find withtag hili] hili +.c addtag hili withtag $obj +.c itemconfigure $obj -fill blue +} + +proc ql_pan {x y} { +global qlvar +set panstarted 0 +catch {set panstarted $qlvar(panstarted) } +if {!$panstarted} return +set dx [expr $x-$qlvar(panstartx)] +set dy [expr $y-$qlvar(panstarty)] +set qlvar(panstartx) $x +set qlvar(panstarty) $y +if {$qlvar(panobject)=="tables"} { + .c move mov $dx $dy + .c move links $dx $dy + .c move rect $dx $dy +} else { + .c move resp $dx 0 + .c move resgrid $dx 0 + .c raise reshdr +} +} + +proc ql_read_struct {} { +global qlvar + +set qlvar(ntables) 3 +set qlvar(tablename0) Facturi +set qlvar(tablename1) Nommat +set qlvar(tablename2) Incasari +set qlvar(tablestruct0) [list factura client valoare tva] +set qlvar(tablestruct1) [list cod denumire pret greutate procent_tva] +set qlvar(tablestruct2) [list data valoare nrdoc referinta] +} + +proc ql_show_sql {} { +global qlvar + +set sqlcmd "select " +for {set i 0} {$i<[llength $qlvar(resfields)]} {incr i} { + if {$sqlcmd!="select "} {set sqlcmd "$sqlcmd, "} + set sqlcmd "$sqlcmd[lindex $qlvar(restables) $i].[lindex $qlvar(resfields) $i]" +} +set tables {} +for {set i 0} {$i<$qlvar(ntables)} {incr i} { + lappend tables $qlvar(tablename$i) +} +set sqlcmd "$sqlcmd from [join $tables ,] " +set sup1 {} +if {[llength $qlvar(links)]>0} { + set sup1 "where " + foreach link $qlvar(links) { + if {$sup1!="where "} {set sup1 "$sup1 and "} + set sup1 "$sup1 ([lindex $link 0].[lindex $link 1]=[lindex $link 2].[lindex $link 3])" + } +} +for {set i 0} {$i<[llength $qlvar(resfields)]} {incr i} { + set crit [lindex $qlvar(rescriteria) $i] + if {$crit!=""} { + if {$sup1==""} {set sup1 "where "} + if {[string range $sup1 0 4]=="where"} {set sup1 "$sup1 and "} + set sup1 "$sup1 ([lindex $qlvar(restables) $i].[lindex $qlvar(resfields) $i]$crit) " + } +} +set sqlcmd "$sqlcmd $sup1" +set sup2 {} +for {set i 0} {$i<[llength $qlvar(ressort)]} {incr i} { + set how [lindex $qlvar(ressort) $i] + if {$how!="unsorted"} { + if {$how=="Ascending"} {set how asc} else {set how desc} + if {$sup2==""} {set sup2 " order by "} else {set sup2 "$sup2,"} + set sup2 "$sup2 [lindex $qlvar(resfields) $i] $how " + } +} +set sqlcmd "$sqlcmd $sup2" +set qlvar(sql) $sqlcmd +#tk_messageBox -message $sqlcmd +.c delete sqlpage +.c create rectangle 0 0 2000 [expr $qlvar(yoffs)-1] -fill #ffffff -tags {sqlpage} +.c create text 10 10 -text $sqlcmd -anchor nw -width 550 -tags {sqlpage} -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* +.c bind sqlpage {.c delete sqlpage} +} + +proc ql_swap_sort {w x y} { +global qlvar +set obj [$w find closest $x $y] +set taglist [.c gettags $obj] +if {[lsearch $taglist sort]==-1} return +set cum [.c itemcget $obj -text] +if {$cum=="unsorted"} { + set cum Ascending +} elseif {$cum=="Ascending"} { + set cum Descending +} else { + set cum unsorted +} +set col [expr int(($x-$qlvar(xoffs))/$qlvar(reswidth))] +set qlvar(ressort) [lreplace $qlvar(ressort) $col $col $cum] +.c itemconfigure $obj -text $cum +} + +proc qlc_click {x y w} { +global qlvar +set qlvar(panstarted) 0 +if {$w==".c"} { + set canpan 1 + if {$y<$qlvar(yoffs)} { + if {[llength [.c find overlapping $x $y $x $y]]!=0} {set canpan 0} + set qlvar(panobject) tables + } else { + set qlvar(panobject) result + } + if {$canpan} { + . configure -cursor hand1 + set qlvar(panstartx) $x + set qlvar(panstarty) $y + set qlvar(panstarted) 1 + } +} +set isedit 0 +catch {set isedit $qlvar(critedit)} +# Compute the offset of the result panel due to panning +set resoffset [expr [lindex [.c bbox resmarker] 0]-$qlvar(xoffs)] +if {$isedit} { + set qlvar(rescriteria) [lreplace $qlvar(rescriteria) $qlvar(critcol) $qlvar(critcol) $qlvar(critval)] + .c delete cr-c$qlvar(critcol)-r$qlvar(critrow) + .c create text [expr $resoffset+4+$qlvar(xoffs)+$qlvar(critcol)*$qlvar(reswidth)] [expr $qlvar(yoffs)+46+15*$qlvar(critrow)] -anchor nw -text $qlvar(critval) -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -tags [subst {resp cr-c$qlvar(critcol)-r$qlvar(critrow)}] + set qlvar(critedit) 0 +} +catch {destroy .entc} +if {$y<[expr $qlvar(yoffs)+46]} return +if {$x<[expr $qlvar(xoffs)+5]} return +set col [expr int(($x-$qlvar(xoffs)-$resoffset)/$qlvar(reswidth))] +if {$col>=[llength $qlvar(resfields)]} return +set nx [expr $col*$qlvar(reswidth)+8+$qlvar(xoffs)+$resoffset] +set ny [expr $qlvar(yoffs)+76] +# Get the old criteria value +set qlvar(critval) [lindex $qlvar(rescriteria) $col] +entry .entc -textvar qlvar(critval) -borderwidth 0 -background #FFFFFF -highlightthickness 0 -selectborderwidth 0 -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* +place .entc -x $nx -y $ny -height 14 +focus .entc +bind .entc {set qlvar(panstarted) 0} +set qlvar(critcol) $col +set qlvar(critrow) 0 +set qlvar(critedit) 1 +} + +proc Window {args} { +global vTcl + set cmd [lindex $args 0] + set name [lindex $args 1] + set newname [lindex $args 2] + set rest [lrange $args 3 end] + if {$name == "" || $cmd == ""} {return} + if {$newname == ""} { + set newname $name + } + set exists [winfo exists $newname] + switch $cmd { + show { + if {$exists == "1" && $name != "."} {wm deiconify $name; return} + if {[info procs vTclWindow(pre)$name] != ""} { + eval "vTclWindow(pre)$name $newname $rest" + } + if {[info procs vTclWindow$name] != ""} { + eval "vTclWindow$name $newname $rest" + } + if {[info procs vTclWindow(post)$name] != ""} { + eval "vTclWindow(post)$name $newname $rest" + } + } + hide { if $exists {wm withdraw $newname; return} } + iconify { if $exists {wm iconify $newname; return} } + destroy { if $exists {destroy $newname; return} } + } +} + + + set base "" + bind $base { + ql_pan %x %y + } + bind $base { + qlc_click %x %y %W + } + bind $base { + ql_dragstop %x %y + } + bind $base { + ql_delete_object + } + canvas $base.c \ + -background #fefefe -borderwidth 2 -height 207 -relief ridge \ + -takefocus 0 -width 295 + label $base.msg -textvar msg -borderwidth 1 -relief sunken + button $base.b2 \ + -borderwidth 1 -command ql_draw_lizzard \ + -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -padx 9 \ + -pady 3 -text {Paint demo tables} + button $base.showbtn \ + -borderwidth 1 -command ql_show_sql \ + -font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-* -padx 9 \ + -pady 3 -text {Show SQL} + ################### + # SETTING GEOMETRY + ################### + place $base.c \ + -x 5 -y 30 -width 578 -height 425 -anchor nw -bordermode ignore + place $base.b2 \ + -x 5 -y 5 -height 26 -anchor nw -bordermode ignore + place $base.showbtn \ + -x 130 -y 5 -height 26 -anchor nw -bordermode ignore + place $base.msg \ + -x 5 -y 460 -width 578 -anchor nw + +main $argc $argv diff --git a/src/bin/pgaccess/doc/html/screenshots.html b/src/bin/pgaccess/doc/html/screenshots.html new file mode 100644 index 00000000000..0cf3ac6b65b --- /dev/null +++ b/src/bin/pgaccess/doc/html/screenshots.html @@ -0,0 +1,43 @@ + + + + + + + + +

    +Image gallery +

    + + + + + diff --git a/src/bin/pgaccess/doc/html/specialchars.html b/src/bin/pgaccess/doc/html/specialchars.html new file mode 100644 index 00000000000..b6b82f2336a --- /dev/null +++ b/src/bin/pgaccess/doc/html/specialchars.html @@ -0,0 +1,47 @@ + + + + Special locale characters + + + + +

    Special locale characters and PgAccess +

    + +

    The problem is related with some special characters used in different +countries because PgAccess did not use fonts with `-ISO8859-1' encoding +--

    + +

    The sollution was proposed by H.P.Heidinger ( hph@hphbbs.ruhr.de) and +it's very simple.

    + +

    If you look into PgAccess, you will find fonts declared as follows :

    + +

    $ grep -e '-font' -i pgaccess.tcl
    +-font -Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-* \
    +-font -Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-* \
    +-font -Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-* \
    +-font -Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-* \

    + +

    It should be something like: -adobe-helvetica-medium-r-normal-*-*-120-*-*-*-*-iso8859-1

    + +

    You can achieve this by running the following script :

    + +

    #!/bin/sh
    +cp pgaccess.tcl pgaccess.tcl-org
    +cat pgaccess.tcl |\
    +sed -e's/\-\*\-\*\ /\-iso8859\-1\ /g' |\
    +sed -e's/\-\*\-\*\}/\-iso8859\-1}/g' |\
    +sed -e's/\-\*\-\*\]/\-iso8859\-1]/g' |\
    +sed -e's/\-\*\-\*$/\-iso8859\-1/g' |\
    +sed -e's/\-Clean\-/\-Fixed\-/g' |\
    +sed -e's/clean/fixed/g' >pgaccess.iso
    +mv pgaccess.iso pgaccess.tcl
    +chmod +x pgaccess.tcl

    + +

    The final version of PgAccess (1.0) will let the user decide what fonts +will be used through a "preferences" dialog window.

    + + + diff --git a/src/bin/pgaccess/doc/html/todo.html b/src/bin/pgaccess/doc/html/todo.html new file mode 100644 index 00000000000..f19b61ab90c --- /dev/null +++ b/src/bin/pgaccess/doc/html/todo.html @@ -0,0 +1,11 @@ + + +

    ToDo List


    + - Finish the report generator module
    + - Enhance the form designer
    + - Enhance the scripts module
    + - Translations in other languages
    +
    +Please send any suggestions by mail to Constantin Teodorescu. + + diff --git a/src/bin/pgaccess/doc/html/tutorial/addref.jpg b/src/bin/pgaccess/doc/html/tutorial/addref.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ee0525d15cecc91742d6c0a42f5cefc9195bfebd GIT binary patch literal 28655 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 LIh!hYc8~CXk(Eb> literal 0 Hc-jL100001 diff --git a/src/bin/pgaccess/doc/html/tutorial/altern_q.jpg b/src/bin/pgaccess/doc/html/tutorial/altern_q.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3fb02aebbd7cdf887746bc450730fa404ba4ab2c GIT binary patch literal 13639 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 G`TRHT_!a#C literal 0 Hc-jL100001 diff --git a/src/bin/pgaccess/doc/html/tutorial/index.html b/src/bin/pgaccess/doc/html/tutorial/index.html new file mode 100644 index 00000000000..a63f1a89fbf --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/index.html @@ -0,0 +1,33 @@ + +PgAccess - a Tcl/Tk interface for PostgreSQL + +

    PgAccess - a Tcl/Tk interface for PostgreSQL

    +
    +
    +
    • Introduction + + +
    • Getting Started + + +
    • Common Initial Problems + +
    • PgAccess tutorial + + diff --git a/src/bin/pgaccess/doc/html/tutorial/intro.html b/src/bin/pgaccess/doc/html/tutorial/intro.html new file mode 100644 index 00000000000..2f056599edf --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/intro.html @@ -0,0 +1,39 @@ +PgAccess - Introduction + +

      PgAccess - Introduction

      +

      What is PgAccess?

      +PgAccess is a graphical user interface for the PostgreSQL database management +system written in the Tcl/Tk scripting language by Constantin Teodorescu. It +allows the user to interact with PostgreSQL in a manner similar to many PC +database applications, with menu choices and graphical tools like buttons. +This means that the user can avoid the basic command line interface for most +common tasks. PgAccess doesn't change the way PostgreSQL operates, just makes +it easier to use for those familiar with graphical interfaces.

      +Obviously, you must have PostgreSQL installed and running, and Tcl/Tk on +your system before you can use PgAccess.

      +PgAccess is an "open source" application. The source code is available to the +user, and may be modified by the user. The user can fix a bug, or change the +way a function operates. You may not want to get that involved with the +programming, but you have the option to do so. If you feel you have made an +improvement to the program, you are encouraged to share it with other users.

      +If you are not familiar with how open source software can be altered and +redistributed, please read this.

      +

      How to get help with PgAccess

      +The mailing list for PgAccess is: pgsql-interfaces@postgresql.org

      +If you have any questions regarding PgAccess you should subscribe to this +list in the following way:

      +First subscribe to the list by sending an email message to:

      +pgsql-interfaces-request@postgresql.org

      +Send a single line in the body of the message as follows:

      +subscribe

      +In a short time you should receive a message beginning like this:

      +Welcome to the pgsql-interfaces mailing list!
      +...

      +This will contain instructions on how to remove yourself from the mailing +list, so save that message. You may only want to ask a few questions and then +stop receiving messages.

      +You may also email Constantin Teodorescu +directly, although writing to a mailing list with many correspondents will often +produce a quicker answer.

      +Back to index + diff --git a/src/bin/pgaccess/doc/html/tutorial/irix.html b/src/bin/pgaccess/doc/html/tutorial/irix.html new file mode 100644 index 00000000000..7d472aa9cdc --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/irix.html @@ -0,0 +1,133 @@ + + + + PgAccess on Irix + + + + +

      INSTALLING PgAccess UNDER IRIX 5.3. +

      + +

      This HOWO-TO make PgAccess working under Irix +is written by Stuart Rison

      + +

      These are the steps that I had to follow to get pgaccess to run on an +INDIGO2 running postgreSQL 6.3.2 under IRIX 5.3. I make no guarantee whatsoever +that the same step will work for others but at least it should point you +in the right direction. Also, I am a biologist by training so I only got +pgaccess working by fudging (that is, trial and error) this means that +some of the steps may be unnecessary (e.g. compiling $postgreSQL_source/src/interfaces/libpgtcl +as both a shared and static library) and they certainly haven't been optimised +(I know nothing about compiler switches etc.).

      + +

      1) Requirements:

      + +
        +

        You will need:

        + +
          +
        • postgreSQL source (http://www.postgresql.org)
        • + +
        • tcl8.0 source (http://www.tclconsortium.org/)
        • + +
        • tk8.0 source (http://www.tclconsortium.org/)
        • + +
        • pgaccess source (http://www.flex.ro/pgaccess)
        • +
        +
      + +

      2) Installation:

      + +

      a) tcl/tk:

      + +
        +

        You must first install tcl and then tk (in that order). I just used +./configure, no switches and gmake. Their installation should be trouble +free. Then you must move headers and libraries to the right places so:

        + +

        Header files: both tcl and tk have a header file (tcl.h and tk.h). The +tcl.h file is in $tcl_source_dir/generic and the tk.h file is in $tk_source_dir/generic; +both should be copied to /usr/local/include.

        + +

        Libraries: compilation (with cc) of tcl and tk yield libraries libtcl8.0.a +and libtk8.0.a in $source_dir/unix. Both should be copied to /usr/local/lib.

        +
      + +

      b) postgreSQL:

      + +
        +

        Make sure you have a fully patched postgreSQL source. If your ./configure +says it can't load 'IRIX' settings then you most probably will need to +patch ./configure.

        + +

        Configure using ./configure with the following switches: ./configure +--with-includes=/usr/local/include

        + +

        --with-libraries=/usr/local/lib --with-tcl [this and previous line as +one]

        + +

        Then make, make install as usual

        +
      + +

      c) Compiling libpgtcl:

      + +
        +

        The source for libpgtcl is in $postgreSQL_directory/src/interfaces/libpgsql.

        + +

        I do this twice. Once with just gmake. This produces a static library +libpgtcl.a which I leave where it is (I don't know what to do with it but +it may just come in handy). The I modify Makefile manually with a text +editor. Essentially I modify two line:

        + +

        before:

        + +

        # Shared library stuff

        + +

        install-shlib-dep := shlib :=

        + +

        after:

        + +

        # Shared library stuff

        + +

        install-shlib-dep := install-shlib shlib := libpgtcl.so.1

        + +

        Then gmake -f Makefile_modified. This creates two shared (.so) libraries: +libpgtcl.so and libpgtcl.so.1. I can't tell the difference between them +so I copied them both to /usr/lib/.

        +
      + +

      d) running pgaccess:

      + +
        +

        Uncompress pgaccess (usually with gunzip and tar). So long as 'wish' +(a binary produced when compiling tk8.0) is somewhere in your path, you +should be able to run pgaccess with:

        + +

        wish -f $pgaccess_dir/pgaccess.tcl [postgreSQL_database_name]

        +
      + +

      e) et voila!

      + +

      3) Concluding remarks:

      + +
        +

        As I stated at the start of this document, following the procedure indicated +above worked for me. I am sure, however, that a few of the steps are unnecessary/non-optimised/stupid +etc. If any Unix (IRIX) boffin is reading this and you spot anything you +would like to comment/correct etc. please e-mail me (stuart@ludwig.ucl.ac.uk). +Also, if you just have questions and think I might help, please contact +me at the same e-mail.

        + +

        Finally, I can accept no responsibility if these steps don't work for +you or if it all goes horribly wrong and you 'damage' your computer trying +them. Let common sense prevail!

        +
      + +

      Good luck

      + +

      Stuart Rison LICR University College London London W1P 8BT
      +stuart@ludwig.ucl.ac.uk

      +Back to index + + diff --git a/src/bin/pgaccess/doc/html/tutorial/newref.txt b/src/bin/pgaccess/doc/html/tutorial/newref.txt new file mode 100644 index 00000000000..ef2185f4b78 --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/newref.txt @@ -0,0 +1 @@ +Cassileth, BR~Unorthodox Cancer Medicine~Cancer Investigation~~1986~4~6~591-598 diff --git a/src/bin/pgaccess/doc/html/tutorial/newtable.jpg b/src/bin/pgaccess/doc/html/tutorial/newtable.jpg new file mode 100644 index 0000000000000000000000000000000000000000..06af40e741044ef042297c4a07c228eadac91ffe GIT binary patch literal 29164 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 R?}a@Wy=%QN)UIzY{sXz^-#-8V literal 0 Hc-jL100001 diff --git a/src/bin/pgaccess/doc/html/tutorial/newtable.tga b/src/bin/pgaccess/doc/html/tutorial/newtable.tga new file mode 100644 index 0000000000000000000000000000000000000000..6104f58bd85cd0aa417e75334f0fbc963cd6a611 GIT binary patch literal 44583 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 CdbE)M literal 0 Hc-jL100001 diff --git a/src/bin/pgaccess/doc/html/tutorial/problems.html b/src/bin/pgaccess/doc/html/tutorial/problems.html new file mode 100644 index 00000000000..2238fb617d8 --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/problems.html @@ -0,0 +1,83 @@ +PgAccess - Common Problems + +

      Common Problems with PgAccess

      +

      Connection failure

      +One of the most common initial problems is the message:

      +Error connecting database
      +Connection to database failed
      +connectDB() failed: Is the
      +postmaster running and
      +accepting TCP/IP (with -i)
      +connections at 'localhost' on
      +port '5432'?

      +This usually occurs because the "postmaster" (the postgreSQL backend) was not +started with the -i option. Usually just adding -i to +the command line that starts the postmaster and restarting will fix this.

      +If you have installed the prewritten script to start postgreSQL +automatically, this option is (currently) commented out:

      +# PGOPTS="-i"

      +just remove the hash and space and comment out the "blank" option above:

      +PGOPTS=""

      +

      User not defined

      +Initially, postgreSQL only has one user, postgres, and any +other user who starts up PgAccess will get the message:

      +Error connecting database
      +Connection to database failed
      +FATAL 1: SetUserId: user
      +'jim' is not in 'pg_shadow'

      +See User Administration in the PgAccess tutorial for a description +of how to create users.

      +

      libpgtcl not found

      +PgAccess requires a library of functions named libpgtcl. This +should be available with the postgreSQL distribution, and is usually placed in +the correct location when installing postgreSQL. First check that there is a +file named libpgtcl.so (perhaps with a number appended - or +libpgtcl.dll on Windows systems) on your +system. If not, you will have to download and perhaps compile this library.

      +ftp://ftp.flex.ro/pub/pgaccess

      +is one place that you can download precompiled libpgtcl libraries for +PgAccess.

      + +

      Locale specific characters

      +This problem occurs with some special characters used in different +countries because PgAccess did not use fonts with `-ISO8859-1' encoding.

      +One solution was proposed by H.P.Heidinger ( hph@hphbbs.ruhr.de) and +is very simple.

      +If you look in the file pgaccess.tcl, you will find the fonts declared in +this manner:

      +$ grep -e '-font' -i pgaccess.tcl
      +-font -Adobe-Helvetica-Medium-R-Normal--*-120-*-*-*-*-*-* \
      +...

      +The font declarations should be altered to:

      +-font -Adobe-Helvetica-Medium-R-Normal-*-*-120-*-*-*-*-iso8859-1
      +...

      +That is, inserting an asterisk between the first pair of hyphens, and changing +the final two asterisks to iso8859 and 1 +respectively.

      +You can alter the source code by running the following script : +

      #!/bin/sh
      +cp pgaccess.tcl pgaccess.tcl-org
      +cat pgaccess.tcl |\
      +sed -e's/\-\*\-\*\ /\-iso8859\-1\ /g' |\
      +sed -e's/\-\*\-\*\}/\-iso8859\-1}/g' |\
      +sed -e's/\-\*\-\*\]/\-iso8859\-1]/g' |\
      +sed -e's/\-\*\-\*$/\-iso8859\-1/g' |\
      +sed -e's/\-Clean\-/\-Fixed\-/g' |\
      +sed -e's/clean/fixed/g' >pgaccess.iso
      +mv pgaccess.iso pgaccess.tcl
      +chmod +x pgaccess.tcl

      +The final version of PgAccess (1.0) will let the user decide what fonts +will be used through a "preferences" dialog window.

      +
      +

      Problem with PostgreSQL 6.3.x

      +PgAccess 0.93 and later may have problems working with PostgreSQL 6.3.x. +Changes in libpgtcl have been made to remove these, but if you are +using PostgreSQL 6.3.x, this patch will allow you to get around the problems.

      +In the procedure wpg_exec change the following line:

      +set pgsql(errmsg) [pg_result $pgsql(res) -error]

      +to this:

      +set pgsql(errmsg) "NO ERROR INFORMATION SUPPLIED"

      +and the program will work. The only disadvantage is that with some error +conditions, you will not get the appropriate error message from libpgtcl.

      +Back to index + diff --git a/src/bin/pgaccess/doc/html/tutorial/screen1.jpg b/src/bin/pgaccess/doc/html/tutorial/screen1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..572b5077d10fa76432858acdf6ca127977f52fa9 GIT binary patch literal 15331 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%0Ddv3~KYS;!4x#2SvC} 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 literal 0 Hc-jL100001 diff --git a/src/bin/pgaccess/doc/html/tutorial/start.html b/src/bin/pgaccess/doc/html/tutorial/start.html new file mode 100644 index 00000000000..8ad8c2ae18f --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/start.html @@ -0,0 +1,74 @@ +PgAccess - Getting Started + +

      PgAccess - Getting Started

      +

      How to get PgAccess

      +If you have this HTML help system, you have probably already downloaded +PgAccess. If not, or you wish to download the latest version, it is available +from the URL:

      +http://www.flex.ro

      +The home page will contain instructions on which files to download for your +operating system. Download the file to a directory where the program will +eventually reside (see below).

      +

      How to uncompress PgAccess

      +PgAccess, like most applications available for download, is usually downloaded +in compressed format to save download time. You must uncompress these files in +order to use the application.

      +

      UNIX (Linux, BSD, IRIX, Solaris, etc.)

      +The files will be compressed using "gzip" and packaged using "tar", and have +filenames like this:

      +pgaccess-n.nn.tar.gz

      +Note that "n.nn" will be the version number in an actual file.

      +First decide where you want to have the program. A typical location on UNIX +systems is /usr/local/src/<name>, where <name> is the name of +the program. To use this location, download or move the "tar.gz" file to the +directory /usr/local/src. Change to that directory, and +uncompress the file with the command:

      +tar -zxvf pgaccess-n.nn.tar.gz

      +You should see the files listed as they are uncompressed and placed in the new +directory, and now have a directory named:

      +/usr/local/src/pgaccess

      +In that directory will be all of the files that were packaged in the downloaded +file. When you have PgAccess working, you can delete the file with the ".tar" +or ".tar.gz" extension. +

      Windows

      +The files will be compressed so that "WinZip" will uncompress the package. Just +open the file with "WinZip" and the program files will be extracted.

      +

      Putting PgAccess where it will be found

      +

      UNIX

      +In order to run PgAccess easily, the program file "pgaccess.tcl" should be in a +location on the "PATH" of the system. You can find out what the PATH is by +entering:

      +echo $PATH
      +/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin:/usr/local/bin:./:/usr/local/pgsql/bin +

      +Usually the directory /usr/local/bin will be in your PATH, and that +is a fairly common place to put programs like PgAccess. Other common +directories in the PATH are /usr/bin and /usr/sbin. +Simply move the file "pgaccess.tcl" to the directory where you want it.

      +

      Windows

      +You will usually link PgAccess to an icon, so just specify the full path to the +program when you create the icon. +

      Starting PgAccess

      +The easiest way to start PgAccess is to simply invoke the program by name:

      +pgaccess.tcl

      +If the program has been placed in a directory listed in the PATH, the PgAccess +window should appear.

      +

      Starting from a menu

      +Most users will want to link the program to a menu or icon so that it can be +started using the mouse or other pointing device. Here is a method that will +work on most Linux X-Windows systems. Create a file named "pgaccess" in the directory +/etc/X11/wmconfig with the following contents:

      +pgaccess name "PgAccess"
      +pgaccess description "postgreSQL frontend"
      +pgaccess mini-icon "mini-pgaccess.xpm"
      +pgaccess group "Applications"
      +pgaccess exec "pgaccess.tcl &"

      +This assumes that you have an "Applications" sub-menu. You may prefer +"Programs" or some other place. Also, you will have to create the +"mini-pgaccess.xpm" icon if you want it to appear. You can edit an existing +icon from the /usr/share/icons/mini directory in XPaint and rename +it. When you next start an X-Windows session, there should be a "PgAccess" item +on the menu that you have chosen. Clicking on this item should start +PgAccess.

      +Back to index + diff --git a/src/bin/pgaccess/doc/html/tutorial/tut.html b/src/bin/pgaccess/doc/html/tutorial/tut.html new file mode 100644 index 00000000000..e5387e618df --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/tut.html @@ -0,0 +1,50 @@ +PgAccess - Tutorial + +

      PgAccess - Tutorial

      +

      User Administration

      +The procedure for setting up postgreSQL usually results in a single user +named postgres. In order for anyone else to use postgreSQL, +users must be added. The program createuser accomplishes this. +First become the PostgreSQL administrator (usually postgres):

      +su postgres

      +Then create a new user:

      +createuser jim
      +Enter user's postgres ID or RETURN to use unix user ID: 500 ->
      +Is user "jim" allowed to create databases (y/n) y
      +Is user "jim" a superuser? (y/n) n
      +createuser: jim was successfully added

      +You can use either the UNIX user ID or the postgres ID to identify users. See +the postgreSQL documentation in the "admin" section for a fuller +account of users and groups.

      +To remove users, use the destroyuser command in the same way.

      + +

      Basic use of PgAccess

      +

      Creating a database

      +At the right is the window you should see when PgAccess starts up. The first +task for most users will be to create a database.

      +Press the New button to bring up the window shown below. This will +allow you to specify the structure of the new table. It is important to note +that if you haven't specified a database when starting up PgAccess, this table +will be created in the database named <username>, your +username.

      +Assume that you want to create a table with entries describing bibliographic +references in the field of chemistry. Choose a table name, such as +chemref that will be easy to recall and find in a list. Enter the +table name in the first input field.

      +When you already have tables in a database, you can use the Inherits +button to toggle a list of existing tables to inherit characteristics of another +table. In this example, there should be no previous tables to use.

      +Enter each field, giving it a name, field type and size, if the field type does +not imply the size. That is, if your first field was to be a sequence number, +and you selected int2 as the field type, you would not have to specify +a field size. However, if your second field was to contain the author of the +reference, and was a varchar type, you would have to specify how many +characters would be allowed in the field.

      +As you enter each field, click the Add field button to add it to the +list at the right side of the window. You can change the position of fields +using the Move field up and Move field down buttons, or delete +a field if you decide it isn't what you wanted. When you are finished +specifying fields, press the Create table button.

      + +Back to index + diff --git a/src/bin/pgaccess/doc/html/tutorial/tut_edit.html b/src/bin/pgaccess/doc/html/tutorial/tut_edit.html new file mode 100644 index 00000000000..8282fb9a422 --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/tut_edit.html @@ -0,0 +1,39 @@ +PgAccess Tutorial + +

      PgAccess Tutorial - Editing a table

      + +

      Adding records

      +Once you have a table, you can begin to add entries to it. In the main +PgAccess window, when you click the Tables button, you should see the +new table appear in the list of tables. Highlighting the table name by clicking +on it and clicking on the Open button will open that table in another +window, as shown below.

      +The most straighforward way to add records to a table is to type the information +directly into the fields. Two records have been entered in the table shown. As +is common with this user interface, clicking the mouse while the pointer is in a +field will allow keyboard entry to that field. This type of entry is adequate +when the information arrives infrequently in small parcels, for instance in +keeping a table of contact information about other researchers. However, what +do you do when someone emails you the entire reference list for their doctoral +dissertation?

      +This is best handled using the SQL COPY command. +First, the information will have to be massaged into shape in what is called a +'flat' ASCII file. This is simply a text file in which each line is a record, +and each field in each record is separated by a delimiter such as a +tilde (~). The fields will have to be in the same order as those in your table, +and there will have to be the same number of fields in each record as are in the +table, otherwise you may get unexpected data or no data at all. Say you produce +a text file named newref.txt that starts like this:

      +Cassileth, BR~Unorthodox Cancer Medicine~Cancer Investigation~~1986~4~6~591-598 +
      ...

      +Notice that there are two consecutive tildes to allow for the fact that this +particular entry doesn't have anything in the Editor field. +You can then perform a Query as follows:

      +COPY psyref FROM '/home/jim/newref.txt' USING DELIMITERS +'~';

      +This will read the records from newref.txt and insert them into the +table psyref. See the PostgreSQL documentation under the headings +
      Tutorial|The Query Language|Populating a Class with Instances

      + +Back to index + diff --git a/src/bin/pgaccess/doc/html/tutorial/tut_new.html b/src/bin/pgaccess/doc/html/tutorial/tut_new.html new file mode 100644 index 00000000000..8fca641e6c0 --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/tut_new.html @@ -0,0 +1,36 @@ +PgAccess Tutorial + +

      PgAccess Tutorial - Creating a table

      + +

      Creating a table

      +At the right is the window you should see when PgAccess starts up. The first +task for most users will be to create a database. Notice the 'buttons' at the +left of the main window. Clicking on these allows you to see the names of +different objects that are stored in your database, which should be +empty at the moment.

      +Click the Tables and New buttons to bring up the window shown +below. This will allow you to specify the structure of the new table. It is +important to note that if you haven't specified a database when starting up +PgAccess, this table will be created in the database named +<username>, your username.

      +Assume that you want to create a table with entries describing bibliographic +references in the field of psychology. Choose a table name, such as +psyref that will be easy to recall and find in a list. Enter the +table name in the first input field.

      +When you already have tables in a database, you can use the Inherits +button to toggle a list of existing tables to inherit characteristics of another +table. In this example, there should be no previous tables to use.

      +Enter each field, giving it a name, field type and size, if the field type does +not imply the size. That is, if your first field was to be a sequence number, +and you selected int2 as the field type, you would not have to specify +a field size. However, if your second field was to contain the author of the +reference, and was a varchar type, you would have to specify how many +characters would be allowed in the field.

      +As you enter each field, click the Add field button to add it to the +list at the right side of the window. You can change the position of fields +using the Move field up and Move field down buttons, or delete +a field if you decide it isn't what you wanted. When you are finished +specifying fields, press the Create table button.

      + +Back to index + diff --git a/src/bin/pgaccess/doc/html/tutorial/tut_sel1.html b/src/bin/pgaccess/doc/html/tutorial/tut_sel1.html new file mode 100644 index 00000000000..fdadbe8e6d3 --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/tut_sel1.html @@ -0,0 +1,36 @@ +PgAccess Tutorial + +

      PgAccess Tutorial - SELECT

      + +

      What is a query?

      +Query is the term for an SQL command which will perform an operation +on a table. It is sometimes confusing to newcomers, as some of the operations +seem to have nothing to do with querying in the common sense of asking. +As we saw in the previous section, a query can simply copy +records from an ASCII file to a table.

      +The PostgreSQL documentation has a complete list of queries that can be +used. We'll start with the common task of selecting records with certain +characteristics.

      +

      Selecting records

      + +Suppose that I want to know all of the references in the sample table +psyref for which the word "alternative" appeared in the title.

      +By clicking Query, then New, a Query builder window will +appear. Clicking in the area below the buttons will allow the user to enter an +SQL query. The specification of the query must be exact or +PostgreSQL will return an error message.

      +The query shown will SELECT those records from psyref +that contain the word "alternative" anywhere in the title field. The +'*' indicates that all of the fields are to be returned. You might only want to +return, for instance, the author field if you were only interested in +which authors had used that word in the title of their work.

      +At the right is the record that fulfils these conditions, displayed in the +Table viewer. If you wanted to save this query for use again, +clicking the Save query definition button will do so. You will then +see altern listed under Queries when you return to the main +window. By clicking the Save this query as a view tickbox in the +Query builder, the result of your query will be saved as a +View which you can access from Views in the main window. +Click the Close button to leave the Query builder.

      +Back to index + diff --git a/src/bin/pgaccess/doc/html/tutorial/tut_user.html b/src/bin/pgaccess/doc/html/tutorial/tut_user.html new file mode 100644 index 00000000000..c4a6f09fbb3 --- /dev/null +++ b/src/bin/pgaccess/doc/html/tutorial/tut_user.html @@ -0,0 +1,28 @@ +PgAccess Tutorial + +

      PgAccess Tutorial - User Administration

      +While user administration is really not a part of the PgAccess program, it is +such a basic operation that a brief description is given here. +

      Creating users

      +The procedure for setting up postgreSQL usually results in a single user +named postgres. In order for anyone else to use postgreSQL, +users must be added. The program createuser accomplishes this. +First become the PostgreSQL administrator (usually postgres):

      +su postgres

      +Then create a new user:

      +createuser jim
      +Enter user's postgres ID or RETURN to use unix user ID: 500 ->
      +Is user "jim" allowed to create databases (y/n) y
      +Is user "jim" a superuser? (y/n) y
      +createuser: jim was successfully added

      +You can use either the UNIX user ID or the postgres ID to identify users. See +the postgreSQL documentation in the "admin" section for a fuller +account of users and groups.

      +The reason for using the command line to create the first user (other than +postgres) is that postgres may not have X-Window permission. +You can also create users using PgAccess if you are created as a +superuser as shown in the example above.

      +

      Removing users

      +To remove users, use the destroyuser command in the same way.

      +Back to index + diff --git a/src/bin/pgaccess/doc/html/vdesigner.gif b/src/bin/pgaccess/doc/html/vdesigner.gif new file mode 100644 index 0000000000000000000000000000000000000000..71349e6daf4c52b8d64a14c05ccdecfa24c735ef GIT binary patch literal 15903 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 + + + + + + +29 August 1999 - PgAccess 0.98 has been released! +

        +
      • +international version (romanian, french, italian translations available) +in separate files (japanese translation now possible)
      • + +
      • +context sensitive help, complete help for SQL commands
      • + +
      • +geometry changes for many forms
      • + +
      • +form designer enhancements (widget icons , new attribute window style, +form startup script)
      • + +
      • +ability to inspect PostgreSQL system tables (preferences)
      • + +
      • +enhanced table design window, table permissions
      • + +
      • +distribution archive changes
      • + +
      • +unified internal global variables
      • + +
      • +unified internal window naming conventions
      • + +
      • +usage of Tcl namespaces for all modules
      • + +
      • +PgAccess developer API
      • + +
      • +web site enhancements
      • +
      + + + diff --git a/src/bin/pgaccess/doc/html/win32.html b/src/bin/pgaccess/doc/html/win32.html new file mode 100644 index 00000000000..368eb9990eb --- /dev/null +++ b/src/bin/pgaccess/doc/html/win32.html @@ -0,0 +1,45 @@ + + + + + + + + +

      +PgAccess on Win32

      + +
      In order to run PgAccess on a Win32 workstation you should follow the +following steps: +
        +
      1. +download and install a Tcl/Tk package from Scriptics +(8.0.x or 8.1.x)
      2. + +
      3. +install PgAccess package
      4. + +
      5. +check the Tcl/Tk version that you have
      6. + +
      7. +check the PostgreSQL version installed on your database server machine
      8. + +
      9. +get from win32/dll directory the appropriate libraries suitable for your +Tcl/Tk version and PostgreSQL version and copy them into your Windows/System +directory renaming them as libpq.dll and libpgtcl.dll
      10. + +
      11. +check if your win32 workstation is able to see your database server (ping +yourdatabaseserver)
      12. + +
      13. +ask your database administrator to verify if your win32 workstation has +access rights to the database (pg_hba.conf)
      14. +
      + +


      You should be able to run PgAccess. +
        + + diff --git a/src/bin/pgaccess/images/icon_button.gif b/src/bin/pgaccess/images/icon_button.gif new file mode 100644 index 0000000000000000000000000000000000000000..df7059192115b13aa31a7116392d0a7c4e6b6db0 GIT binary patch literal 896 zc-pm*y=zoa5XH}3Z^#&8Sjk|-Y!Tt1f&r5!s|zArQ2ZjrA_!uaLa`7NC8BomqY@F3 zpoNH6QFm7YFRX4V<*pyah!#Oq7O@CcDMZM74>m>gx=Hj;aEf7y!_05a*?(|fVdpS| z(Zo`XkB>JRjfKU95y{nTQ?WPXjR- zH_mnGTpdjXZ{UiOQ(+V2VO&9U*&-_vS%#Nz_a zNE(I9$YvIE-I(uz@0W?x);w#Q)sqq0Tg$H!Dy5Yyl`J4^hXHp9>LFB%*YIHt6@xnQ zGzNQ+Lv}<(HSiMUSior#d+(idqk|*qubR&&XH5TZNh|i-M0PTX+C9&9NH-)a%y|!*!$7G@S5a`>JsW;Bd%H_>%qdYhG_}!(gZO?i2t>FEg tEyE`kPYxXaaC`T;+kD{JlbO34j{JPFu)Xr}hI)AD-l5Nx&ySSCu0IbhA^rdW literal 0 Hc-jL100001 diff --git a/src/bin/pgaccess/images/icon_checkbutton.gif b/src/bin/pgaccess/images/icon_checkbutton.gif new file mode 100644 index 0000000000000000000000000000000000000000..ddfe64ca8b41d205e3a714fef8f9a54c1fb490d9 GIT binary patch literal 873 zc-pm*&1+Lp5XH}p7aVFVPaUXG5z#DEs!1P21A^Rz_yJW)aUmk8NKr&gs1HAOp)Leb z=%Ne3MeoWaP<%C-;zn+(MMe z24e*%m&;2_OFvhCI*b-2+pyOZM}|h_?G4*H&wh+t6y&pUy~JvaOmX4dU8`fB+F4S`fn!CbvnFSnt_6n#^Y!^_EuN7^fFC zDqS^MskAJ6CPza$mqH8hfD_4wVVy`BV`gM$Vr!n+5iQ7!vrWz3kSk~OqZrgLmD%tQ z2{WW6^*1_5L_%wc*$}M`XObj-k;kn%NP!HlXuPZ<-4QP0pC?K>-A3Z!9o&R`%7q{L zs6$s>5!JRRWxlrK51xYwNDg5iXh4?Rw&~eBayFQpjvH%P#l?IFLUk#s9&X|FB(yrN$lfiTnuk}39 z^CO39AGm{%mjwvj0P zwB_iGoxe?+cAt?&TfP(QICyC1lkK>h3R2H+mOjtl-<%(d9yGtm_}2B~%cn-Z9UI@Z d?r~<<#xJiQ7S8ta#M6tfrp)c0MHN3VbB_*LqnIed7k|)!SB#T>+#PsaQf532iX`j9>^Y zbTNg}LK{lc2zKG(>cW{=<;my-7nVD=E{=55g-8|((k_}s5$C-JW}#kZM*I)@U7Xe7 zobUJh86Equ`2Gxo@dz!IN~QJn_07kd^K!UmXBB^DXhE(G*kqCY0=a>(uozbtSiM7L z=;lxFmRARvi$nubJQO9z$j=yeuv?GR@w!52U?yZqMUx7{TidiG<;1dQax|{{b4UOWIFUjWRf&`_=8Pb<70>L5Zps;F8=Ac# zSIX=2F{n?r@^el~HW78gfV&0t2#R>$L#PI56Bim_4{`|SRa^tNEKY~W(!_i3oSPb&&z{tL zPB~+GpGvlB@0P-gY24W)-6a9aJ>X`S{GR|3VEA}9P)A*1i@^{3kSgjLe}sw$yJqQm zjTD#{)GSn+)Bmjpx3rf{W7ujkMFuVi^25eb0zg^$JVQJ;Xk{7 z%pu4s%WsV?=f;lrlYRToJvu`>Jd>0SH(zB{(^@95XVdmr#e j4-f7=zisBtjzcH6??2mnnw1X~D&7HV%d^8v~mrcQQp#}DubQiMVn#H9-tE}D4iumNq?ohnusp5VTb+)Z0gvLZ6K*VZn#s{@{mqbs_27%K)2qG8c3q6t}& zSmKnABY?o^TN3LoK}C+76i4jy|1 z4wM!(6k?FNb<`<&*0GO02Xm=%C)(o3q#;8H2SH=U&3)iDYA8YK_s6h!K zth@!m8-ON30R}uRP+{+CB~fdGJ;)&_sHg$%g)64G6Suwh&bhgXLg#hECzLa0>>ugW z?30DydK~q6PWS&egz6x;OOc-o5c0P@8#EO@F!*yCu^QbEKX6|lE5_!qNuZ0mZzu`Qe5?4ep(tmm@R e6-GG^RNvtkP)4xM5!-T-rRbE~VXZ#UmMOqHe3wC5GahNk4nMVp>te~w%n6bngXmen~jui2!e`)gQcfB+F4S`fn!Dua?`)_Zo2D#d)W zk!t0Qar&u7wX;oDs;OnqVT>v=gqhHi`(Pa;BB8a!Y=}0ae3m8mi@4MPDUiV#jfXY#wiln`(@o53)%qwA z$@)I51?+$m^DU?m3vvqm^Wyy(1Svh7k6FhC9;@8&vKk%`L2PT%!&p zgs}Pn2X6&d2nsOZNr4JGYPA>j6zo9`L0KhDaK~bt=T??_@11kAqvh7Srq3y7%<$jR zs@oTp;9iz&@f`K6524lvZnNaq0)%|Fa|SC4T?W5SB2xoB@f*}V*tLn5G%}zpXj-Ut z{?AgwoyPC~FoiA}7+VZZ~W@pU&gQJzU%pC&!5$3ey#G& L&b8>KQaJoS%U&5% literal 0 Hc-jL100001 diff --git a/src/bin/pgaccess/images/icon_query.gif b/src/bin/pgaccess/images/icon_query.gif new file mode 100644 index 0000000000000000000000000000000000000000..ced0ef26a54d7150fe6f0589e561f8854eb2960a GIT binary patch literal 897 zc-nLKbhEHb6krfw_|Cxa9|##30s;aW8X689H~{1{FgP$UEMRbGXkch?U~u>kRPi6k zYyb-U{|{0;3P!=O0g69a7(uiShydjY297ueMh+Q?1q%)~a`0M3ocN%?z$Bn7l;B}_ zz`0X^*~G>}!NH}U%~Ws8jgQIhUCQ!RXDWnLJ$rPu<8)>UE^VG}l593dGjNFygQDmz akr$Vr`7Lm37t+nRtmw4BQIL&=!5RRRuQ@jW literal 0 Hc-jL100001 diff --git a/src/bin/pgaccess/images/icon_radiobutton.gif b/src/bin/pgaccess/images/icon_radiobutton.gif new file mode 100644 index 0000000000000000000000000000000000000000..9803df6729ca731f7cd9483a915d28af4fbd3912 GIT binary patch literal 870 zc-pOzy=zoK6vfYM26K&@@WdMlB;_h7YO)Vj7Ys5seqf5AAQB=dDyWDn7z9CNK^rxo zpp^)YDDFlAPZl>=L}rx~R~s!v0$NyDq_A+`TSyAy__FGM;1riB?#J((vv>cV;*R4C z#v)KIm*?l_mwqleluB~8ZciybVQ4~L4%+w<`w4P`LE%zVn_#t-On&apw#w8HbCGCJ zio;>No_t`O>Cux7j47~z8I@TT#vl*lilVC)%pgJ_5?Ra4M07HzlL(&S2>E_lp0Syg zS=z3@R?%d5f;%mR7q*sVMPyzte7qS~x;-05lls^gng$M{VUY^agrSyvio?KD)|sJ# ze5%<%F&SFW@)mY2cvNy#8x?hb6*CMFAfiJHVi-a>D@kI#XXof%A*k14t-LW#f6%C` zbkn3%V#}V%(TE<%AO<|(L<(V8BT~kg2ZF>_J+mX4lLyW=HG4y@oYPMuP`^}W!nPA; zL`&umI!Hu9Yl+zqEez+9BzjfAC*F%!XsVl!`SX zv!RWN{So1o{p>jy&q*r^+tjJbk6AQ(;rrxX%ho+>8|di>o$2!HgsIA(oRlmf?1TaL z2pS<&%4_)G52z++3D25f4{``fDyoB5D31kbC9(J3IX9j!wU+BXqnt5)zoa!~zm$XN zBB~3fZgl6zo>WI4o7<~)U;TC@DDS_%Q4Nfo gxwGNj-HxLhCpH~A{_g&o(qX2HmG=*Kc4V;gH}yOX(*OVf literal 0 Hc-jL100001 diff --git a/src/bin/pgaccess/images/icon_text.gif b/src/bin/pgaccess/images/icon_text.gif new file mode 100644 index 0000000000000000000000000000000000000000..49d193c279655c0af9f547e312d0e1605f15f7c4 GIT binary patch literal 911 zc-pm*&udgy6vw|eUdbU$!>c`zMY5R1KszPvBu}Ru5#dr=t&o;My0N-YTOk#3qJ3Dq zkx_)UprU@h5l|hwtJG z-|zXH&098A-rdDuJVtlw_4>lX!qW0mO-dd6rQ*oY9=Y+AO?I(ANG=M>rMNx8>L8ig zm7RMVtv$@25k)dq3X?P)vsIYqHjy&MOv@XoZFy!#bVa6}UDWIi zxq3nW7J~+*F%v!|VaBxdJgW{8kj1!>@9`^0~C-kq5YdU*e7>0n|St)+(d!07o72w3a>T_#Wkq8NMl5 z%l#SdmKEUmeB{m0?$KOet#;O@u2Z2aQLj`e5n-8fmPwXUpZNCAKkmdE<|hC9{jc2y8~z6_;2