~kamus/+junk/huuf

« back to all changes in this revision

Viewing changes to huuf/BrowserDialog.py

  • Committer: Victor Vargas
  • Date: 2009-12-20 05:06:13 UTC
  • Revision ID: kamusin@gmail.com-20091220050613-tsrv243aiby0txhd
Primera version semi funcional

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- coding: utf-8 -*-
 
2
### BEGIN LICENSE
 
3
# This file is in the public domain
 
4
### END LICENSE
 
5
 
 
6
import sys
 
7
import os
 
8
import gtk
 
9
 
 
10
from huuf.huufconfig import getdatapath
 
11
 
 
12
class BrowserDialog(gtk.Dialog):
 
13
    __gtype_name__ = "BrowserDialog"
 
14
 
 
15
    def __init__(self):
 
16
        """__init__ - This function is typically not called directly.
 
17
        Creation of a BrowserDialog requires redeading the associated ui
 
18
        file and parsing the ui definition extrenally, 
 
19
        and then calling BrowserDialog.finish_initializing().
 
20
    
 
21
        Use the convenience function NewBrowserDialog to create 
 
22
        a BrowserDialog object.
 
23
    
 
24
        """
 
25
        pass
 
26
 
 
27
    def finish_initializing(self, builder):
 
28
        """finish_initalizing should be called after parsing the ui definition
 
29
        and creating a BrowserDialog object with it in order to finish
 
30
        initializing the start of the new BrowserDialog instance.
 
31
    
 
32
        """
 
33
        #get a reference to the builder and set up the signals
 
34
        self.builder = builder
 
35
        self.builder.connect_signals(self)
 
36
 
 
37
 
 
38
    def ok(self, widget, data=None):
 
39
        """ok - The user has elected to save the changes.
 
40
        Called before the dialog returns gtk.RESONSE_OK from run().
 
41
 
 
42
        """
 
43
        pass
 
44
 
 
45
    def cancel(self, widget, data=None):
 
46
        """cancel - The user has elected cancel changes.
 
47
        Called before the dialog returns gtk.RESPONSE_CANCEL for run()
 
48
 
 
49
        """         
 
50
        pass
 
51
 
 
52
def NewBrowserDialog():
 
53
    """NewBrowserDialog - returns a fully instantiated
 
54
    dialog-camel_case_nameDialog object. Use this function rather than
 
55
    creating BrowserDialog instance directly.
 
56
    
 
57
    """
 
58
 
 
59
    #look for the ui file that describes the ui
 
60
    ui_filename = os.path.join(getdatapath(), 'ui', 'BrowserDialog.ui')
 
61
    if not os.path.exists(ui_filename):
 
62
        ui_filename = None
 
63
 
 
64
    builder = gtk.Builder()
 
65
    builder.add_from_file(ui_filename)    
 
66
    dialog = builder.get_object("browser_dialog")
 
67
    dialog.finish_initializing(builder)
 
68
    return dialog
 
69
 
 
70
if __name__ == "__main__":
 
71
    dialog = NewBrowserDialog()
 
72
    dialog.show()
 
73
    gtk.main()
 
74