- ๐ Hi, Iโm @tizianolattisi
tizianolattisi / pypapi Goto Github PK
View Code? Open in Web Editor NEWDesktop Application Framework is an application framework based on Java Persistence JPA2 and Qt toolkit
Desktop Application Framework is an application framework based on Java Persistence JPA2 and Qt toolkit
The QComboBox has a default completer based on the first characters on the left. This completer must be disabled in the PyPaPiComboBox (the tryToSelect method execute a full text search).
The QComboBox docs (c++) says:
"Sets the completer to use instead of the current completer. If completer is 0, auto completion is disabled."
But QComboBox.setCompleter(0) does not work.
Workaround: a empty char in the toString method.
The check state don't changes, and you got this error:
GRAVE: null
java.lang.NoSuchMethodException: com.axiastudio.pypapi.ui.BooleanItemField.setCheckstate(java.lang.Object)
at java.lang.Class.getMethod(Class.java:1605)
at com.axiastudio.pypapi.Resolver.setterFromFieldName(Resolver.java:170)
at com.axiastudio.pypapi.ui.ItemEditable.set(ItemEditable.java:56)
at com.axiastudio.pypapi.ui.TableModel.setData(TableModel.java:137)
at com.trolltech.qt.gui.QApplication.exec_internal(Native Method)
at com.trolltech.qt.gui.QApplication.exec(QApplication.java:559)
at com.axiastudio.suite.Suite.main(Suite.java:121)
19-lug-2012 15.08.34 com.axiastudio.pypapi.ui.TableModel setData
GRAVE: null
java.lang.NullPointerException
at com.axiastudio.pypapi.ui.ItemEditable.set(ItemEditable.java:57)
at com.axiastudio.pypapi.ui.TableModel.setData(TableModel.java:137)
at com.trolltech.qt.gui.QApplication.exec_internal(Native Method)
at com.trolltech.qt.gui.QApplication.exec(QApplication.java:559)
at com.axiastudio.suite.Suite.main(Suite.java:121)
If you double click on the right of the checkbox appears a combo box with true/false options.
Without this feature the developer should provide a edit form for the row.
With a String dynamic property named "searchgroup", we can group criteria field of type QLineEdit and QTextEdit.
In the PickerDialog we present a single QLineEdit with the name of the group.
The controller executes a ilike search with the fields in or.
When using the row filter in the PickerDialog, after the ProxyModel patch:
Exception caught after invoking slot
java.lang.ClassCastException: com.axiastudio.pypapi.ui.ProxyModel cannot be cast to com.axiastudio.pypapi.ui.TableModel
at com.axiastudio.pypapi.ui.PickerDialog.applyFilter(PickerDialog.java:523)
To reproduce the problem you can create a camel case field to an Enum, and set search=true in the UI.
A radio button in PickerDialog to select the type of match in the search: "one of the criteria" or "all the criteria".
The controller's createCriteriaStore should alter the code:
if( predicates.size()>0 ){
cq.where(cb.and(predicates.toArray(new Predicate[0])));
}
Now the UI inspector set the type of the column to CellEditorType.CHOICE, when the widget is a QComboBox.
But if the widget is a PyPaPiComboxBox the type of cell's editor could be a LOOKUP.
This affects PickerDialog.addCriteria and executeSearch: with this change we don't need code like this:
if( widget.getClass().equals(QComboBox.class )){
int idx = ((QComboBox) widget).currentIndex();
data = ((QComboBox) widget).itemData(idx);
} else {
data = this.entitySelectorUtilities.get(column.getName()).getSelected();
}
To distin between Enum and Entity
Actually is not possible to load more than one qm file (translation file): the last file overwrite the others.
Es:
Application app = new Application(args);
app.addQmFile("classpath:file1_{0}.qm");
app.addQmFile("classpath:file2_{0}.qm");
app.setLanguage("it");
file2_it.qm overrides file1_it.qm
The info and open buttons should be enabled only when there's a form to show.
and manage the layout in Delegate.paint().
What steps will reproduce the problem?
Also the filtered elements are selected.
Even if the entity has no join with a quick insert window, the "quick insert" button is enabled.
The button selection causes a NullPointerException fault.
The name "Controller" is usually related to the ui-controller, so maybe could be more correct a class name like "DbManager" (EntityManager is used...).
Refactor before it's too late!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.