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)
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
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__":
--- /dev/null
+"""
+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