redesigned using MVC pattern
authorMax Usachev <maxusachev@gmail.com>
Fri, 11 Jun 2010 09:28:04 +0000 (12:28 +0300)
committerMax Usachev <maxusachev@gmail.com>
Fri, 11 Jun 2010 09:28:04 +0000 (12:28 +0300)
factory.py
meabook
ui/ui.py [new file with mode: 0644]

index 45ab294..20775ff 100644 (file)
@@ -2,12 +2,12 @@
 UI factory
 """
 
-def app_factory(basedir, interface=None):
+def app_factory(interface=None):
     if not interface or interface == 'hildon':
         from ui.hildon_ui import HildonMeabook
-        return HildonMeabook(basedir)
+        return HildonMeabook
     elif interface == 'text':
         from ui.text_ui import TextMeabook
-        return TextMeabook(basedir)
+        return TextMeabook
     else:
         raise ValueError('%s: unsupported UI type' % interface)
diff --git a/meabook b/meabook
index ebe4a1c..4950a27 100755 (executable)
--- a/meabook
+++ b/meabook
@@ -10,6 +10,9 @@ if os.path.basename(sys.argv[0]).endswith("debug"):
     sys.path.insert(0, "../")
 
 from meabook.factory import app_factory
+from meabook.config import MeabookConfig
+from meabook.database.SQLite import SQLite
+from meabook.controller import MeabookController
 
 try:
     import osso
@@ -40,8 +43,10 @@ def main(argv):
     else:
         basedir = os.path.join(os.environ['HOME'], '.meabook')
 
-    app = app_factory(basedir, opts.ui)
-    app.start()
+    model = SQLite(basedir)
+    view = app_factory(opts.ui)
+    config = MeabookConfig(basedir, model)
+    controller = MeabookController(model, view, config)
 
 
 if __name__ == "__main__":
diff --git a/ui/ui.py b/ui/ui.py
new file mode 100644 (file)
index 0000000..6726220
--- /dev/null
+++ b/ui/ui.py
@@ -0,0 +1,37 @@
+"""
+General Meabook UI
+"""
+
+class MeabookUI:
+    def __init__(self, controller):
+        self.controller = controller
+
+    def start(self):
+        """Start UI."""
+        pass
+
+    def exit(self):
+        """Close UI."""
+        pass
+
+    def show_items(self, items, level):
+        """Shows items on selected level."""
+        pass
+
+    def get_current_level(self):
+        """Gets current UI level."""
+        pass
+
+
+    # dialogs
+    def show_about_dialog(self):
+        """Shows About Dialog."""
+        pass
+
+    def show_fields_to_show_dialog(self):
+        """Shows Fields Dialog."""
+        pass
+
+    def show_fileds_order_dialog(self):
+        """Shows FiledOrder Dialog."""
+        pass