|
From: Przemyslaw K. R. <pr1...@st...> - 2003-03-04 15:03:39
|
Currently we have following opened tasks:
* GcEvn
* GcUtils
* GcObject Hierarchy
* GNUccess Application
Good names, but what this means ?
I will try to specify global architecture of planed system.
.----------.
| Modules |
`----------'
1. Database Abstraction Layer (DAL)
Posible features:
- Visual Conection Constructor.
- Datatype abstraction.
- Query syntax abstraction. ( Created queries should work i every
supported db engines)
- Meta data access and modyfication support. (Adding column,
deleting column, adding checks, itd. ) [TODO]
- Python objects persistance
2. Database Structure Editor/Creator
Posible features:
- Adding Tables, Colums, Indexes, Constraints, itd..
- ERD
3. Simple data editor.
Displays databse data in list and allows change, add or delete table
row.
4. RAD for Python
- Forms creator
- Properties editing
- Layout editing
- Some wizards
- Componet Editor with Source code editing (shell is not enough)
[TODO]
5. Components Core (GcObject)
my proposition:
class GcObject:
__editors__ = {
'Name': Editors.Text,
'Description': Editors.Text
}
__serializable__ = [ 'Name', 'Position' ]
def toXML(self):
xml = "<node class='"+self.__class__.__name__+"'...>"
for var in self.__class__.__serializable__
xml = xml +GNUccess.serialize(var,
eval('self.'+var))
...
def Icon():
...
Filed __editors__ should declare inforamtion needed to generate
properties panel.
Other example:
class GcButton(GcWidget):
__editiors__ = {
"Label": Editor.Text,
"FrameColor": Editor.Color,
"FrameStyle": WidgetEditor.FrameStyle
}
__serializable__ = GcWidget.__serializable__ + [ "Label",
"FrameColor", "FrameStyle" ]
...
Ofcourse component <-> wx connection is missing.
Other modules:
[TODO]
.---------------------------------.
| * Przemysław Krzysztof Rekucki .|
| P.R...@st... |
`---------------------------------'
|