From c09fb0787c3af4d282ae3fac53c706665a91b0a7 Mon Sep 17 00:00:00 2001 From: senator Date: Wed, 23 Nov 2011 15:06:33 +0100 Subject: Removed console and changed LIBPATH to QMAKE_LIBDIR. LIBPATH is obsolete --- client/client.pro | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'client') diff --git a/client/client.pro b/client/client.pro index 61a6e06..831b570 100644 --- a/client/client.pro +++ b/client/client.pro @@ -20,12 +20,12 @@ include(../VERSION) DEFINES+=VERSION=\\\"$$VERSION\\\" win32 { - LIBPATH += lua/lib + QMAKE_LIBDIR += lua/lib INCLUDEPATH += lua/include LIBS += -llua51 DEFINES += HOST_WIN32 # debug { - CONFIG += console + CONFIG += # } } -- cgit v1.2.3 From 728e74df239bac0f61faea062bb5a45340ee6d24 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Thu, 1 Dec 2011 10:40:27 +0100 Subject: Force focus on combobox in altcombobox in order to avoid the inner widget gaining focus even though it is hidden. --- client/widgets/altcombobox.cc | 6 ++++++ client/widgets/altcombobox.h | 2 ++ 2 files changed, 8 insertions(+) (limited to 'client') diff --git a/client/widgets/altcombobox.cc b/client/widgets/altcombobox.cc index 9956fff..082601a 100644 --- a/client/widgets/altcombobox.cc +++ b/client/widgets/altcombobox.cc @@ -107,6 +107,12 @@ AltComboBox::~AltComboBox() { } +bool AltComboBox::setKeyboardFocus() +{ + combobox->setFocus(); + return true; +} + QComboBox *AltComboBox::qcombobox() { return combobox; diff --git a/client/widgets/altcombobox.h b/client/widgets/altcombobox.h index e6a21d7..b0fb61c 100644 --- a/client/widgets/altcombobox.h +++ b/client/widgets/altcombobox.h @@ -94,6 +94,8 @@ public: QComboBox *qcombobox(); + bool setKeyboardFocus(); + public slots: void comboChanged(); void onChildChange(); -- cgit v1.2.3 From 8dbc6ee0fbc1dd4485ec0ff1cf4a48e24b0b41a8 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Thu, 1 Dec 2011 11:26:49 +0100 Subject: Make combobox selection list popup on spacebar or mousedown. --- client/widgets/combobox.cc | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'client') diff --git a/client/widgets/combobox.cc b/client/widgets/combobox.cc index eed2d10..935f620 100644 --- a/client/widgets/combobox.cc +++ b/client/widgets/combobox.cc @@ -93,6 +93,8 @@ ComboBox::ComboBox(QDomNode &node, MacroWindow *macrowindow) // Make empty default selection. combobox->setCurrentIndex(-1); + combobox->installEventFilter(this); + QDomElement elem = node.toElement(); combotype = SELECT; @@ -213,15 +215,26 @@ void ComboBox::changed() emit eventOnChange(); } +#include bool ComboBox::eventFilter(QObject *obj, QEvent *event) { if(ignoreChangeEvents == true) return false; + if(combotype == SELECT) { if(event->type() == QEvent::MouseButtonRelease) { if(enabled()) combobox->showPopup(); } } + if(event->type() == QEvent::KeyPress) { + QKeyEvent *ke = (QKeyEvent*)event; + // printf("KEY: %d\n", ke->key()); + // if(ke->key() == Qt::Key_Up || ke->key() == Qt::Key_Down) { + if(ke->key() == Qt::Key_Space) { + if(enabled()) combobox->showPopup(); + } + } + return QObject::eventFilter(obj, event); } -- cgit v1.2.3 From ef111490bf0fef23f338910c0a54c142aa61d938 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Thu, 1 Dec 2011 11:27:07 +0100 Subject: Set window title and icon. --- client/pcpviewer/pcpviewer.cc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'client') diff --git a/client/pcpviewer/pcpviewer.cc b/client/pcpviewer/pcpviewer.cc index 5853e0a..ea59edb 100644 --- a/client/pcpviewer/pcpviewer.cc +++ b/client/pcpviewer/pcpviewer.cc @@ -42,6 +42,9 @@ PCPViewer::PCPViewer(QString patientid) : praxisd("sarge", 10000) { + setWindowTitle(tr("Pracro Patient View")); + setWindowIcon(QIcon(":/icons/icon.png")); + this->patientid = patientid; setLayout(new QVBoxLayout()); -- cgit v1.2.3 From e0107f150cefec8a8f90c5c7ebfd13e875c02e85 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Thu, 1 Dec 2011 14:06:35 +0100 Subject: Restore sane animationtime value. --- client/collapser.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'client') diff --git a/client/collapser.cc b/client/collapser.cc index 2057a0e..abbe295 100644 --- a/client/collapser.cc +++ b/client/collapser.cc @@ -32,7 +32,7 @@ #include "debug.h" -#define ANIM_TIME 100 // ms +#define ANIM_TIME 200 // ms #define ANIM_INTERVAL 50 // ms Collapser::Collapser(QWidget *current, QScrollArea *scroll) -- cgit v1.2.3 From 1dc78c2b5875697a926776befc33cb7161bc6eb1 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Thu, 1 Dec 2011 14:22:09 +0100 Subject: Make sure space is added in the bottom (stretch) if the window is taller than the macros. --- client/mainwindow.cc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'client') diff --git a/client/mainwindow.cc b/client/mainwindow.cc index 121412e..4cb721f 100644 --- a/client/mainwindow.cc +++ b/client/mainwindow.cc @@ -337,6 +337,9 @@ void MainWindow::updateMacros(QDomNodeList &nodes) break; } } + + QVBoxLayout *l = (QVBoxLayout*)central->layout(); + l->addStretch(1); } } -- cgit v1.2.3 From 5ed7a801b4194e72cc3898de57fb1d9ea0e8caa4 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Thu, 1 Dec 2011 14:53:08 +0100 Subject: Added missing strings. --- client/pracro_dk.ts | 83 +++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 62 insertions(+), 21 deletions(-) (limited to 'client') diff --git a/client/pracro_dk.ts b/client/pracro_dk.ts index 9c7fd40..72cda12 100644 --- a/client/pracro_dk.ts +++ b/client/pracro_dk.ts @@ -1,6 +1,19 @@ + + AboutBox + + + About Pracro + Om Pracro + + + + <h1>Pracro Client</h1><h2>v. + <h1>Pracro Klient</h1><h2>v. + + DBWidget @@ -53,43 +66,43 @@ et CPR nummer på 10 cifre. MacroWindow - + Error Der er sket en fejl - + The macro Makroen - + was not filled out correctly, please try again. er ikke.udfyldt korrekt. Prøv igen. - + Save the macro changes? Gem makro ændringer? - + you have choosen to close the macro Du har valgt at lukke makroen - + do you want to save before closing? ønsker du at gemme dine ændringer først? - + Close first Luk først - + Close other one first. Luk den åbne makro først. @@ -97,26 +110,26 @@ et CPR nummer på 10 cifre. MainWindow - + Close and commit Gem i journal - + Close no commit Gem som kladde - - - + + + Close first. Luk først. - - - + + + Close open macros first. Luk åbne makroer først. @@ -133,14 +146,14 @@ et CPR nummer på 10 cifre. Denne session bliver husket på denne specifikke maskine. For at genåbne på et senere tidspunkt, skal du blot genåbne på samme patient. - - + + Discard Kassér - - + + This session will <strong>NOT</strong> be stored in the journal.<br/>Are you sure you want to continue? Dette vil slette alle indtastede data. Denne session vil <strong>IKKE</strong> blive gemt i journalen hvis du fortsætter. Fortsætter du kan dataene <strong>IKKE</strong> gendannes.<br/>Er du sikker på du vil fortsætte? @@ -158,6 +171,26 @@ et CPR nummer på 10 cifre. Remove form list Fjern fra listen + + + Inner widget changed. + Indre widget er ændret. + + + + The inner widget changed, and you didn't add it to the list. +Do you want to continue and discard the change? + Den indre widget har ændret sig men er ikke tilføjet til listen. +Vil du fortsætte og smide ændringerne væk? + + + + PCPViewer + + + Pracro Patient View + Pracro Patient Visning + QObject @@ -252,9 +285,17 @@ et CPR nummer på 10 cifre. Ignorér - + Depends on: Afhænger af: + + Template + + + Open + Åbn + + -- cgit v1.2.3 From 93884eadc122a3a025e731a4d7d34b28caad5fb0 Mon Sep 17 00:00:00 2001 From: senator Date: Fri, 2 Dec 2011 13:50:52 +0100 Subject: Updated the language file --- client/pracro_dk.ts | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'client') diff --git a/client/pracro_dk.ts b/client/pracro_dk.ts index 72cda12..2582280 100644 --- a/client/pracro_dk.ts +++ b/client/pracro_dk.ts @@ -11,7 +11,7 @@ <h1>Pracro Client</h1><h2>v. - <h1>Pracro Klient</h1><h2>v. + <h1>Pracro Client</h1><h2>v. @@ -174,14 +174,13 @@ et CPR nummer på 10 cifre. Inner widget changed. - Indre widget er ændret. + Data er ændret The inner widget changed, and you didn't add it to the list. Do you want to continue and discard the change? - Den indre widget har ændret sig men er ikke tilføjet til listen. -Vil du fortsætte og smide ændringerne væk? + Der er indtastet data, som ikke er tilføjet til listen. Ønsker du at fortsætte og glemme disse data? @@ -189,7 +188,7 @@ Vil du fortsætte og smide ændringerne væk? Pracro Patient View - Pracro Patient Visning + Pracro Patient Oversigt -- cgit v1.2.3 From f4fcce1fc35bc0f4d88462b4c9c29de8fedb7cdf Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Fri, 2 Dec 2011 14:03:34 +0100 Subject: Bump version. --- client/client.pro | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'client') diff --git a/client/client.pro b/client/client.pro index 46f4ae3..5e16942 100644 --- a/client/client.pro +++ b/client/client.pro @@ -16,7 +16,7 @@ debug { DEFINES+=USE_DEBUG } -DEFINES+=VERSION=\\\"2.2.1\\\" +DEFINES+=VERSION=\\\"2.2.2\\\" win32 { QMAKE_LIBDIR += lua/lib -- cgit v1.2.3 From 3488ab9a9526b1d999beb354b5318fb28cf917de Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Thu, 19 Jan 2012 13:52:58 +0100 Subject: Make client block on error response from server. Both on macro commits and on template commit. --- client/mainwindow.cc | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'client') diff --git a/client/mainwindow.cc b/client/mainwindow.cc index 4cb721f..2345644 100644 --- a/client/mainwindow.cc +++ b/client/mainwindow.cc @@ -170,7 +170,7 @@ void MainWindow::closeCommit() return; } netcom.commit(); - isStored = true; + // isStored = true; closing = true; } @@ -182,7 +182,7 @@ void MainWindow::closeNoCommit() return; } netcom.nocommit(); - isStored = true; + // isStored = true; closing = true; } @@ -204,7 +204,7 @@ void MainWindow::closeDiscard() if(res == MessageBox::Yes) { netcom.discard(); - isStored = true; + // isStored = true; closing = true; } } @@ -227,7 +227,7 @@ void MainWindow::closeEvent(QCloseEvent *event) == MessageBox::Yes) { if(!isStored) { netcom.discard(); - isStored = true; + // isStored = true; closing = true; event->ignore(); return; @@ -388,8 +388,6 @@ void MainWindow::setTemplate(QString name) void MainWindow::handle(QDomDocument &doc) { - if(closing) close(); - DEBUG(mainwindow, "Handle %s\n", doc.toString().toStdString().c_str()); @@ -400,6 +398,7 @@ void MainWindow::handle(QDomDocument &doc) if(element.tagName() == "error") { showError("Pracro Server Error", element.text()); + closing = false; continue; } @@ -430,4 +429,9 @@ void MainWindow::handle(QDomDocument &doc) } } + + if(closing) { + isStored = true; + close(); + } } -- cgit v1.2.3 From 9fc31e3d046a19c936f7c6e1e5ab703ce44f9218 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Fri, 20 Jan 2012 11:18:54 +0100 Subject: Add missing prefix to cave search. --- client/luapraxisd.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'client') diff --git a/client/luapraxisd.cc b/client/luapraxisd.cc index 11d619e..974a706 100644 --- a/client/luapraxisd.cc +++ b/client/luapraxisd.cc @@ -85,7 +85,7 @@ static int px_cavelist(lua_State *L) pxu = (px_userdata *)luaL_checkudata(L, 1, "Praxisd"); luaL_argcheck(L, pxu, 1, "Praxisd expected"); - QVector cavelist = pxu->px->diverse_get_cave(""); + QVector cavelist = pxu->px->diverse_get_cave("C"); if(pxu->px->hasError()) { lua_pushstring(L, pxu->px->errorString().toStdString().c_str()); lua_error(L); -- cgit v1.2.3 From 12cce7eac519786066003173ab072505f2ad8bb0 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Fri, 13 Apr 2012 13:48:32 +0200 Subject: Documentation. --- client/docgen/doc.h | 3 ++ client/docgen/docgen.cc | 87 ++++++++++++++++++++++++++++++++++++------ client/docgen/generate.cc | 40 ++++++++++++------- client/docgen/parse.cc | 18 +++++++++ client/docgen/style.css | 5 +++ client/luadb.cc | 8 ++-- client/luadb.h | 53 +++++++++++++++++++++++++ client/widgets/altcombobox.h | 1 + client/widgets/button.h | 1 + client/widgets/checkbox.h | 1 + client/widgets/checkgroupbox.h | 1 + client/widgets/combobox.h | 1 + client/widgets/datetime.h | 1 + client/widgets/groupbox.h | 1 + client/widgets/label.h | 1 + client/widgets/lineedit.h | 1 + client/widgets/listbox.h | 1 + client/widgets/metawidget.h | 1 + client/widgets/multilist.h | 1 + client/widgets/radiobuttons.h | 1 + client/widgets/textedit.h | 1 + client/widgets/widget.h | 1 + client/widgets/window.h | 1 + 23 files changed, 202 insertions(+), 28 deletions(-) (limited to 'client') diff --git a/client/docgen/doc.h b/client/docgen/doc.h index ae693f5..5678476 100644 --- a/client/docgen/doc.h +++ b/client/docgen/doc.h @@ -69,6 +69,9 @@ public: QString title; QString name; QString tag; + bool serverside; + bool clientside; + QString classname; QString extends; bool container; QString description; diff --git a/client/docgen/docgen.cc b/client/docgen/docgen.cc index e4af0a3..4eb2e08 100644 --- a/client/docgen/docgen.cc +++ b/client/docgen/docgen.cc @@ -32,6 +32,7 @@ #include #include #include +#include #include @@ -39,7 +40,9 @@ #include "parse.h" #include "generate.h" -#define INPUT "../widgets" +#define WIDGETS_DIR "../widgets" +#define SERVER_DIR "../../server/src" +#define CLIENT_DIR ".." #define OUTPUT "html" QString output; @@ -94,16 +97,46 @@ void writeIndex(QMap &docs) out += "

Pracro "VERSION" Documentation

\n"; out += "

Overview

\n"; + out += "

Clientside

\n"; + out += "

Widgets

\n"; out += "
    \n"; QMap::iterator i = docs.begin(); while(i != docs.end()) { Doc &doc = *i; - out += "
  • ["+doc.name+"] - "+ - doc.title+"
  • \n"; + if(doc.tag != "") { + out += "
  • ["+doc.name+"] - "+ + doc.title+"
  • \n"; + } + i++; + } + out += "
\n"; + out += "

Classes

\n"; + out += "
    \n"; + i = docs.begin(); + while(i != docs.end()) { + Doc &doc = *i; + if(doc.classname != "" && doc.clientside) { + out += "
  • ["+doc.name+"] - "+ + doc.title+"
  • \n"; + } i++; } out += "
\n"; + out += "

Serverside

\n"; + out += "
    \n"; + i = docs.begin(); + while(i != docs.end()) { + Doc &doc = *i; + if(doc.classname != "" && doc.serverside) { + out += "
  • ["+doc.name+"] - "+ + doc.title+"
  • \n"; + } + i++; + } + out += "
\n"; + + QFile::remove(output + "/index.html"); QFile ofile(output + "/index.html"); ofile.open(QIODevice::ReadWrite | QIODevice::Text); @@ -133,15 +166,47 @@ int main(int argc, char *argv[]) QFile::remove(output + "/style.css"); QFile::copy("style.css", output + "/style.css"); - QDir dir(INPUT); - QStringList filter; filter << "*.h"; - dir.setNameFilters(filter); + QStringList files; + + // Widgets + { + QDir dir(WIDGETS_DIR); + QStringList filter; filter << "*.h"; + dir.setNameFilters(filter); + if(!dir.exists()) return 1; + QFileInfoList inflst = dir.entryInfoList(QDir::Files); + foreach(QFileInfo inf, inflst) { + files.append(inf.absoluteFilePath()); + } + } + + // Client + { + QDir dir(CLIENT_DIR); + QStringList filter; filter << "*.h"; + dir.setNameFilters(filter); + if(!dir.exists()) return 1; + QFileInfoList inflst = dir.entryInfoList(QDir::Files); + foreach(QFileInfo inf, inflst) { + files.append(inf.absoluteFilePath()); + } + } + + // Server + { + QDir dir(SERVER_DIR); + QStringList filter; filter << "*.h"; + dir.setNameFilters(filter); + if(!dir.exists()) return 1; + QFileInfoList inflst = dir.entryInfoList(QDir::Files); + foreach(QFileInfo inf, inflst) { + files.append(inf.absoluteFilePath()); + } + } - if(!dir.exists()) return 1; - QStringList l = dir.entryList(QDir::Files); - foreach(QString file, l) { - Doc doc = parse(QString(INPUT) + "/" + file); - if(doc.title != "" || doc.tag != "") + foreach(QString file, files) { + Doc doc = parse(file); + if(doc.title != "" || doc.tag != "" || doc.classname != "") docs[doc.name] = doc; } diff --git a/client/docgen/generate.cc b/client/docgen/generate.cc index b521f1f..f418b24 100644 --- a/client/docgen/generate.cc +++ b/client/docgen/generate.cc @@ -219,6 +219,18 @@ QString generate(Doc &doc, QMap > &meths, highlight("<" + doc.tag + " />", xml) + "\n"; } + if(doc.serverside) + out += "
Available serverside.
\n"; + + if(doc.clientside) + out += "
Available clientside.
\n"; + + + if(doc.classname != "" ){ + out += "
Class
" +
+      doc.classname + "
\n"; + } + if(doc.container) { out += "
Widget is a container.
\n"; } @@ -248,21 +260,23 @@ QString generate(Doc &doc, QMap > &meths, out += generateExamples(doc.examples, xml); - out += "

Attributes

\n"; - out += "
\n"; - if(doc.attributes.size()) { - out += generateAttributes(doc.attributes); - } + if(doc.tag != "") { + out += "

Attributes

\n"; + out += "
\n"; + if(doc.attributes.size()) { + out += generateAttributes(doc.attributes); + } - QMap >::iterator i = atts.begin(); - while(i != atts.end()) { - out += "

Attributes inherited from "+i.key()+":

\n"; - out += generateAttributes(i.value()); - i++; + QMap >::iterator i = atts.begin(); + while(i != atts.end()) { + out += "

Attributes inherited from "+i.key()+":

\n"; + out += generateAttributes(i.value()); + i++; + } + out += "
\n"; } - out += "
\n"; - + out += generateMethodOverview(doc, meths); out += "

Methods

\n"; diff --git a/client/docgen/parse.cc b/client/docgen/parse.cc index 64c2aa7..0354f57 100644 --- a/client/docgen/parse.cc +++ b/client/docgen/parse.cc @@ -89,6 +89,8 @@ Doc parse(QString filename) { Doc doc; doc.container = false; + doc.serverside = false; + doc.clientside = false; QFileInfo fi(filename); QString name = fi.fileName(); @@ -134,10 +136,26 @@ Doc parse(QString filename) continue; } + if(state == none && line.left(6) == "@class") { + doc.classname = line.right(line.length() - line.indexOf(" ") - 1); + doc.name = doc.classname; + continue; + } + if(state == none && line.left(8) == "@extends") { doc.extends = line.right(line.length() - line.indexOf(" ") - 1); continue; } + + if(state == none && line.left(11) == "@serverside") { + doc.serverside = true; + continue; + } + + if(state == none && line.left(11) == "@clientside") { + doc.clientside = true; + continue; + } if(state == none && line.left(11) == "@screenshot") { Screenshot s; diff --git a/client/docgen/style.css b/client/docgen/style.css index e938648..17f087e 100644 --- a/client/docgen/style.css +++ b/client/docgen/style.css @@ -26,6 +26,11 @@ a:hover { } .doc .tagname { + font-size: 1.5em; + text-align: center; +} +.doc .classname { + font-size: 1.5em; text-align: center; } .doc .extends {} diff --git a/client/luadb.cc b/client/luadb.cc index 317831f..a848f36 100644 --- a/client/luadb.cc +++ b/client/luadb.cc @@ -77,7 +77,7 @@ typedef struct db_userdata { DB *db; } db_userdata; -static int db_value(lua_State *L) +int db_value(lua_State *L) { db_userdata *dbu; @@ -91,7 +91,7 @@ static int db_value(lua_State *L) return 1; } -static int db_exec(lua_State *L) +int db_exec(lua_State *L) { db_userdata *dbu; @@ -105,7 +105,7 @@ static int db_exec(lua_State *L) return 0; } -static int db_next(lua_State *L) +int db_next(lua_State *L) { db_userdata *dbu; @@ -119,7 +119,7 @@ static int db_next(lua_State *L) return 1; } -static int db_new(lua_State *L) +int db_new(lua_State *L) { const char *driver = luaL_checkstring(L, 1); const char *host = luaL_checkstring(L, 2); diff --git a/client/luadb.h b/client/luadb.h index a87baf5..91c8777 100644 --- a/client/luadb.h +++ b/client/luadb.h @@ -30,6 +30,59 @@ #include +/*** + * Database Class + * @class DB + * @clientside + * The DB class connects and handles communication with the an SQL server using + * the QDatabase API. + */ + +/*** + * @method object DB.new(string driver, string host, string database, string user, string password, int port) + * Create a new DB connection object. + * @param driver A string containing the QT SQL driver name. QPSQL: postgresql + * driver. + * @param host The hostname to connect to. + * @param database The database to open. + * @param user The username to use for authentication. + * @param password The password to use for authentication. + * @param port The port to connect to. + * @return The newly created communication object. + * @example Create a new database object: + * px = DB.new('QPSQL', 'localhost', 'mydb', 'user01', 'verysecret', '5432') + */ +int db_new(lua_State *L); + +/*** + * @method nil exec(string query) + * Execute an SQL query. + * @param query A string containing the SQL query to execute. + */ +int db_exec(lua_State *L); + +/*** + * @method string value(int index) + * Get current value from the result of the last query. + * @param index The column index number to use for the value retrieval. + * @return A string containing the value in the result cell. + */ +int db_value(lua_State *L); + +/*** + * @method boolean next() + * Iterate to next row in result set. + * @return true if another row is availble, false if the end of the list has + * been reached. + * @example Iterate through a result list and print the value in column 0 in each row: + * while db:next() + * do + * local item = db:value(0) + * print(item) + * end + */ +int db_next(lua_State *L); + void register_db(lua_State *L); #endif/*__PRACRO_LUADB_H__*/ diff --git a/client/widgets/altcombobox.h b/client/widgets/altcombobox.h index b0fb61c..73dee10 100644 --- a/client/widgets/altcombobox.h +++ b/client/widgets/altcombobox.h @@ -43,6 +43,7 @@ /*** * ComboBox Widget with Alternate Value * @tag altcombobox + * @clientside * @extends combobox * @screenshot Example: altitem selected. * diff --git a/client/widgets/button.h b/client/widgets/button.h index 0bd7db9..d9053a6 100644 --- a/client/widgets/button.h +++ b/client/widgets/button.h @@ -34,6 +34,7 @@ /*** * PushButton Widget * @tag button + * @clientside * @screenshot Example button *