mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
* update .gitmodules * Update grammars.yml * Create hello.ring * Create Natural.ring * Create weblib.ring * vendor/grammars/language-ring * fix order in grammars.yml * remove two files from samples * delete hello.ring * Update languages.yml - add the R * Create hello.ring * Create natural.ring * Create weblib.ring * Create grammars.yml * Create .gitmodules * Create languages.yml * Create languages.yml * Create language-ring.txt * Update .gitmodules Prefer HTTPS links. * Update hello.ring Sample file from "real" applications (under permissive license) to train the Bayesian classifier. * Update languages.yml * Update weblib.ring Reduce the file size * Update .gitmodules * Update .gitmodules * Update .gitmodules * Update .gitmodules * Update submodule : language-ring * Update weblib.ring Sample : Using the web library. * Create weighthistory Add Sample * Rename weighthistory to weighthistory.ring * Update weblib.ring
175 lines
5.1 KiB
Plaintext
175 lines
5.1 KiB
Plaintext
Load "guilib.ring"
|
|
|
|
MyApp = new qApp
|
|
{
|
|
$ApplicationObject = "oApp" # To be used when calling events
|
|
oApp = new App
|
|
exec()
|
|
oApp.CloseDatabase()
|
|
}
|
|
|
|
class App
|
|
|
|
cDir = currentdir() + "/"
|
|
oCon
|
|
aIDs = []
|
|
|
|
win1 = new qWidget()
|
|
{
|
|
setWindowTitle("Weight History")
|
|
resize(600,600)
|
|
layoutButtons = new qhboxlayout()
|
|
{
|
|
label1 = new qLabel(win1) { setText("Weight") }
|
|
text1 = new qlineedit(win1)
|
|
btnAdd = new qpushbutton(win1) {
|
|
setText("Add")
|
|
setClickEvent($ApplicationObject+".AddWeight()")
|
|
}
|
|
btnDelete = new qpushbutton(win1) {
|
|
setText("Delete")
|
|
setClickEvent($ApplicationObject+".Deleteweight()")
|
|
}
|
|
addwidget(label1)
|
|
addwidget(text1)
|
|
addwidget(btnAdd)
|
|
addwidget(btnDelete)
|
|
}
|
|
layoutData = new qhboxlayout()
|
|
{
|
|
Table1 = new qTableWidget(win1) {
|
|
setrowcount(0)
|
|
setcolumncount(3)
|
|
setselectionbehavior(QAbstractItemView_SelectRows)
|
|
setHorizontalHeaderItem(0, new QTableWidgetItem("Date"))
|
|
setHorizontalHeaderItem(1, new QTableWidgetItem("Time"))
|
|
setHorizontalHeaderItem(2, new QTableWidgetItem("Weight"))
|
|
setitemChangedEvent($ApplicationObject+".ItemChanged()")
|
|
setAlternatingRowColors(true)
|
|
horizontalHeader().setStyleSheet("color: blue")
|
|
verticalHeader().setStyleSheet("color: red")
|
|
}
|
|
addWidget(Table1)
|
|
}
|
|
layoutClose = new qhboxlayout()
|
|
{
|
|
btnclose = new qpushbutton(win1) {
|
|
setText("Close")
|
|
setClickEvent("MyApp.Quit()")
|
|
}
|
|
addwidget(btnClose)
|
|
}
|
|
layoutMain = new qvboxlayout()
|
|
{
|
|
addlayout(layoutButtons)
|
|
addLayout(LayoutData)
|
|
addLayout(layoutClose)
|
|
}
|
|
setlayout(layoutMain)
|
|
self.OpenDatabase()
|
|
self.ShowRecords()
|
|
show()
|
|
}
|
|
|
|
Func OpenDatabase
|
|
lCreate = False
|
|
if not fexists(cDir + "weighthistory.db")
|
|
lCreate = True
|
|
ok
|
|
new QSqlDatabase() {
|
|
this.oCon = addDatabase("QSQLITE") {
|
|
setDatabaseName("weighthistory.db")
|
|
Open()
|
|
}
|
|
}
|
|
if lCreate
|
|
new QSqlQuery( ) {
|
|
exec("create table weighthistory (id integer primary key,"+
|
|
" f_date varchar(10),"+
|
|
" f_time varchar(8), f_weight varchar(8) );")
|
|
delete()
|
|
}
|
|
ok
|
|
|
|
|
|
Func CloseDatabase
|
|
oCon.Close()
|
|
|
|
Func AddWeight
|
|
cWeight = text1.text()
|
|
AddRecord(cWeight)
|
|
|
|
Func DeleteWeight
|
|
Table1 {
|
|
nRow = CurrentRow()
|
|
if nRow >= 0
|
|
nID = this.aIDs[nROW+1]
|
|
new QSqlQuery( ) {
|
|
exec("delete from weighthistory where id = " + nID )
|
|
}
|
|
Del(this.aIDs,nRow+1)
|
|
removerow(nRow)
|
|
selectrow(nRow)
|
|
ok
|
|
}
|
|
|
|
|
|
Func AddRecord cWeight
|
|
new QSqlQuery( ) {
|
|
cStr = "insert into weighthistory (f_date,f_time,f_weight) values"+
|
|
" ('%f1','%f2','%f3')"
|
|
cDate = Date()
|
|
cTime = Time()
|
|
cStr = substr(cStr,"%f1",cDate)
|
|
cStr = substr(cStr,"%f2",cTime)
|
|
cStr = substr(cStr,"%f3",cWeight)
|
|
exec(cStr)
|
|
delete()
|
|
}
|
|
ShowRecords()
|
|
Table1.selectrow(table1.rowcount()-1)
|
|
|
|
|
|
Func ShowRecords
|
|
table1.setitemChangedEvent("")
|
|
aIDs = []
|
|
query = new QSqlQuery() {
|
|
exec("select * from weighthistory")
|
|
nRows = 0
|
|
this.Table1.setrowcount(0)
|
|
while movenext()
|
|
this.table1 {
|
|
insertRow(nRows)
|
|
this.aIDs + query.value(0).tostring()
|
|
for x = 1 to 3
|
|
cStr = query.value(x).tostring()
|
|
item = new qTableWidgetItem(cStr)
|
|
setItem(nRows,x-1,item)
|
|
next
|
|
}
|
|
nRows++
|
|
end
|
|
delete()
|
|
}
|
|
table1.setitemChangedEvent($ApplicationObject+".ItemChanged()")
|
|
|
|
Func ItemChanged
|
|
nRow = table1.currentrow()
|
|
if nRow >= 0
|
|
myitem = Table1.item(table1.currentrow(),0)
|
|
cDate = myitem.text()
|
|
myitem = Table1.item(table1.currentrow(),1)
|
|
cTime = myitem.text()
|
|
myitem = Table1.item(table1.currentrow(),2)
|
|
cWeight = myitem.text()
|
|
new QSqlQuery( ) {
|
|
cStr = "update weighthistory set f_date ='%f1' , f_time = '%f2' , "+
|
|
"f_weight ='%f3' where id = " + this.aIDs[nROW+1]
|
|
cStr = substr(cStr,"%f1",cDate)
|
|
cStr = substr(cStr,"%f2",cTime)
|
|
cStr = substr(cStr,"%f3",cWeight)
|
|
exec(cStr)
|
|
delete()
|
|
}
|
|
ok
|