From: Max Usachev Date: Fri, 11 Jun 2010 09:28:04 +0000 (+0300) Subject: redesigned using MVC pattern X-Git-Url: https://vcs.maemo.org/git/?p=meabook;a=commitdiff_plain;h=35e3b2211d11f9e11e4d5e3f04ed1432ad1727b0 redesigned using MVC pattern --- diff --git a/factory.py b/factory.py index 45ab294..20775ff 100644 --- a/factory.py +++ b/factory.py @@ -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 --- 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 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