20120210 ======== Der Button "Update reminders" funktioniert jetzt. Unschön ist noch, dass die Aktion ziemlich lange dauert und der Benutzer kein Feedback kriegt. Außerdem eine kleine Spielerei vor dem Frühstück: das About-Fenster zeigt jetzt eine Liste aller Modelle. Das ist der Start zu einem allgemeinen Modul zur Introspection, das auch zur Auswertung der XML-Responses der BCSS nützlich werden könnte. Checkin um 9.20 Uhr. Ein Container, der in einer vbox saß, bekam sein flex nicht gesetzt. Oder besser gesagt: ein vbox-Panel setzte das flex seiner Kinder nicht immer korrekt:: Lino.lino.About.FormPanel = Ext.extend(Lino.FormPanel,{ layout: 'fit', initComponent : function() { var containing_panel = this; var startup_time186 = new Ext.form.DisplayField({ "disabled": true, "readOnly": true, "fieldLabel": "Server up since", "name": "startup_time", "anchor": "100%", "value": "
" }); var main_1_panel187 = new Ext.Container({ "flex": 60, // fehlte "border": false, "autoHeight": true, "labelWidth": 144, "items": [ { "flex": 25, "autoHeight": true, "html": "Lino version 1.3.8 using Python 2.7.1, Django 1.4 pre-alpha SVN-16714, python-dateutil 1.5, Cheetah 2.4.4, docutils 0.7, PyYaml 3.08, xhtml2pdf 3.0.32, ReportLab Toolkit 2.4, appy.pod 0.8.0 (2011/12/15 22:41)", "xtype": "label" }, { "flex": 75, "autoHeight": true, "layout": "form", "xtype": "panel", "items": startup_time186, "labelAlign": "top" } ], "layout": "hbox", "frame": false, "layoutConfig": { "align": "stretchmax" } }); var Models_htmlbox189 = new Lino.HtmlBoxPanel({ "flex": 90, "layout": "fit", "name": "Models", "containing_panel": this, "items": new Ext.BoxComponent(), "title": "Models", "master_panel": this, "bodyStyle": "overflow-x:hidden !important;", "autoScroll": true, "tools": [ Lino.show_in_own_window_button(Lino.lino.Models.grid) ] }); var main_panel190 = new Ext.Panel({ "border": false, "layout": "vbox", "items": [ main_1_panel187, Models_htmlbox189 ], "autoScroll": true, "labelWidth": 63, "frame": true, "layoutConfig": { "align": "stretch" }, "bodyBorder": false }); this.items = main_panel190; this.before_row_edit = function(record) { Models_htmlbox189.refresh(); } Lino.lino.About.FormPanel.superclass.initComponent.call(this); } }); Um das obige Problem zu verstehen, habe ich mir einen Inspector gemacht. quick_search und order_by werden jetzt in AbstracTable geparst. Damit das in einer VirtualTable funktioniert, muss deren get_data_rows diese berücksichtigen.