def __init__(self, parent):
        self._parent = parent
        self.builder = make_builder('glade/padder.glade')
        def shorter(name):
            return self.builder.get_object(name)
        w = shorter("padder")
        w.set_transient_for(self._parent.window.builder.get_object('main_window'))
        w.add_buttons(gtk.STOCK_SAVE, gtk.RESPONSE_ACCEPT, gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL)
        self.hiders = [hide_control(shorter("padder_calendars"), [shorter("padder_lower_calendar"), shorter("padder_upper_calendar")], hide = True)]
        self.start_date = datetime_control(shorter("padder_lower_calendar"),
                                           time_control(*map(lambda a: shorter(u'padder_lower_{0}'.format(a)), ["hour", "min", "sec"])),
                                           year = shorter("padder_lower_year"),
                                           month = shorter("padder_lower_month"),
                                           day = shorter("padder_lower_day"))
        
        self.end_date = datetime_control(shorter("padder_upper_calendar"),
                                         time_control(*map(lambda a: shorter(u'padder_upper_{0}'.format(a)), ["hour", "min", "sec"])),
                                         year = shorter("padder_upper_year"),
                                         month = shorter("padder_upper_month"),
                                         day = shorter("padder_upper_day"))
                                           
        self.datetime_start_end = datetime_start_end_control(self.start_date, self.end_date)
        self.price = number_range_control(number_control(shorter("padder_open"), step_incr = 0.1, digits = 4),
                                          number_control(shorter("padder_close"), step_incr = 0.1, digits = 4))
        self.price.set_lower_limit(0)
        self.price.set_upper_limit(sys.float_info.max)

        self.commission = number_range_control(number_control(shorter("padder_open_comm"), step_incr = 0.1, digits = 4),
                                               number_control(shorter("padder_close_comm"), step_incr = 0.1, digits = 4))
        self.commission.set_lower_limit(0)
        self.commission.set_upper_limit(sys.float_info.max)

        self.instrument = combo_select_control(shorter("padder_instrument"))
        self.account = combo_select_control(shorter('padder_account'))
        self.long_short = select_control({-1 : shorter("padder_long"),
                                          1 : shorter("padder_short")})
        self.count =  number_control(shorter("padder_count"))
        self.count.set_lower_limit(0)
        self.count.set_upper_limit(sys.maxint)
        shorter("edit_instruments").connect("clicked", self.edit_instruments_clicked)
    def __init__(self, parent):
        assert(isinstance(parent, gtk_view.gtk_view))
        self._parent = parent
        self.builder = make_builder('glade/deal_editor.glade')
        def shorter(name):
            return self.builder.get_object(name)
        w = self.builder.get_object("deal_editor")
        w.add_buttons(gtk.STOCK_SAVE, gtk.RESPONSE_ACCEPT, gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL)
        
        ##########
        # hiders #
        ##########
        self.hiders = []
        for (hcb, box) in [("deal_editor_change_datetime", "deal_editor_datetime_box"),
                           ("deal_editor_change_direction", "deal_editor_direction_box"),
                           ("deal_editor_change_account", "deal_adder_account1"),
                           ("deal_editor_change_instrument", "deal_editor_instrument"),
                           ("deal_editor_change_price", "deal_adder_price1"),
                           ("deal_editor_change_count", "deal_adder_count1"),
                           ("deal_editor_change_commission", "deal_editor_commission")]:
            cb = self.builder.get_object(hcb)
            bb = self.builder.get_object(box)
            self.hiders.append(hide_control(cb, [bb]))
            pass

        ####################
        # datetime control #
        ####################
        self.datetime = datetime_control(shorter("deal_adder_calendar1"),
                                         time_control(shorter("deal_adder_hour1"),
                                                      shorter("deal_adder_min1"),
                                                      shorter("deal_adder_sec1")),
                                         checkbutton = shorter("deal_editor_change_datetime"),
                                         year = shorter("deal_editor_year"),
                                         month = shorter("deal_editor_month"),
                                         day = shorter("deal_editor_day"))

        self.instrument = combo_select_control(shorter("deal_editor_instrument"),
                                               checkbutton = shorter("deal_editor_change_instrument"))

        self.price = number_control(shorter("deal_adder_price1"), shorter("deal_editor_change_price"), step_incr = 0.1, digits = 4)
        self.count = number_control(shorter("deal_adder_count1"), shorter("deal_editor_change_count"))
        self.commission = number_control(shorter("deal_editor_commission"), shorter("deal_editor_change_commission"), step_incr = 0.1, digits = 4)
        for name in ["deal_adder_price1", "deal_adder_count1", "deal_editor_commission"]:
            m = shorter(name)
            m.get_adjustment().set_all(lower = 0, upper = sys.float_info.max)
        self.account = combo_select_control(shorter("deal_adder_account1"),
                                            checkbutton = shorter("deal_editor_change_account"))
        self.direction = select_control({-1 : shorter("deal_adder_buy_rb1"),
                                         1 : shorter("deal_adder_sell_rb1")}, shorter("deal_editor_change_direction"))
示例#3
0
    def __init__(self, parent):
        """
        \param parent \ref gtk_view.gtk_view instance
        """
        assert isinstance(parent, gtk_view.gtk_view)
        self.builder = make_builder("glade/deal_adder.glade")
        self._parent = parent

        def shorter(name):
            return self.builder.get_object("deal_adder_{0}".format(name))

        w = self.builder.get_object("deal_adder")
        w.set_transient_for(self._parent.window.builder.get_object("main_window"))
        w.add_buttons(gtk.STOCK_SAVE, gtk.RESPONSE_ACCEPT, gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL)
        self.datetime = datetime_control(
            shorter("calendar"),
            time_control(shorter("hour"), shorter("min"), shorter("sec")),
            year=shorter("year"),
            month=shorter("month"),
            day=shorter("day"),
        )
        self.account = combo_select_control(shorter("account"))
        self.instrument = combo_select_control(shorter("instrument"))
        # self.market = combo_control(shorter("market"))
        self.price = number_control(shorter("price"), step_incr=0.1, digits=4)
        self.price.set_lower_limit(0)
        self.price.set_upper_limit(sys.float_info.max)
        self.count = number_control(shorter("count"))
        self.count.set_lower_limit(0)
        self.count.set_upper_limit(sys.maxint)
        self.direction = select_control({-1: shorter("buy_rb"), 1: shorter("sell_rb")})
        self.commission = number_control(shorter("comm"), step_incr=0.1, digits=4)
        self.commission.set_lower_limit(0)
        self.commission.set_upper_limit(sys.float_info.max)
        self.attributes = attributes_control(
            shorter("attributes"), shorter("attr_name"), shorter("attr_val"), shorter("attr_add"), shorter("attr_del")
        )
        self.edit_instruments = shorter("edit_instruments")
        self.edit_instruments.connect("clicked", self.edit_clicked)
 def __init__(self, lower, upper, box = [], checkbutton = None):
     """
     \param lower - hash table to construct controls over lower datetime widgets with keys:\n
     \c chbt - gtk.ToggleButton instance to pass into \ref datetime_control.datetime_control state of this widet will control appearance of the box\n
     \c box - gtk.Container instance to hide or show when chbt changed\n
     \c year - gtk.SpinButton instance to display year, pass to \ref datetime_control.datetime_control\n
     \c month - gtk.SpinButton instance to display month\n
     \c day - gtk.SpinButton instance\n
     \c calendar - gtk.Calendar instance to display date, passed into \ref datetime_control.datetime_control\n
     \c hour - gtk.SpinButton instance to display hour passed to \ref time_control.time_control\n
     \c min - gtk.SpinButton\n
     \c sec - gtk.SpinButton\n
     \c time_chbt - gtk.ToggleButton instance - checkbutton to control the show state of time_box\n
     \c time_box - gtk.Container instance, box with time controls - all that controled by \ref time_control.time_control
     \param upper hash table with same keys
     \param box - list of gtk.Container instances, boxes controled by checkbutton parameter state
     \param checkbutton - gtk.ToggleButton, when inactive widgets from box list will be hided
     """
     self.hiders = []
     for (bt, boxes) in [(checkbutton, box)] + reduce(lambda a, b: a + b, map(lambda h: [(gethash(h, "time_chbt"), [gethash(h, "time_box")]),
                                                                                         (gethash(h, "chbt"), [gethash(h, "box")])],
                                                                              [lower, upper])):
         rbox = filter(lambda a: a != None, boxes)
         if bt != None and len(rbox) > 0:
             self.hiders.append(hide_control(bt, rbox))
     subhide = filter(lambda a: a != None, map(lambda b: gethash(b, "chbt"), [lower, upper]))
     if len(subhide) > 0 and checkbutton != None:
         self.subhide = all_checked_control(checkbutton, subhide)
     times = map(lambda h: time_control( *map(lambda k: gethash(h, k), ["hour", "min", "sec", "time_chbt"])),
                 [lower, upper])
     dtimes = map(lambda cal, time, chbt, year, month, day: datetime_control(cal, time, chbt, year, month, day),
                  map(lambda a: gethash(a, "calendar"), [lower, upper]),
                  times,
                  map(lambda a: gethash(a, "chbt"), [lower, upper]),
                  map(lambda a: gethash(a, "year"), [lower, upper]),
                  map(lambda a: gethash(a, "month"), [lower, upper]),
                  map(lambda a: gethash(a, "day"), [lower, upper]))
                  
     datetime_range_control.__init__(self, *(dtimes + [checkbutton]))
    def __init__(self, parent):
        """\brief 
        \param parent
        """
        self._parent = parent
        self.builder = make_builder('glade/account_in_out.glade')
        def shobject(name):
            return self.builder.get_object(name)

        self.list = list_view_sort_control(shobject('in_out_list'), [['id', int], (u'Счет', gtk.CellRendererText()), (u'Дата', gtk.CellRendererText()), (u'Деньги', gtk.CellRendererText())])
        self.account = combo_select_control(shobject('account'))
        time = time_control(shobject('hour'), shobject('minute'), shobject('second'))
        self.datetime = datetime_control(shobject('calendar'), time, year = shobject('year'), month = shobject('month'), day = shobject('day'))
        self.amount = shobject('amount')
        self.amount.set_digits(2)
        self.amount.get_adjustment().configure(0, -maxint, maxint, 1, 100, 0)
        self.comment = shobject('comment').get_buffer()
        self.window = shobject('account_in_out')
        self.window.add_buttons(gtk.STOCK_SAVE, gtk.RESPONSE_ACCEPT, gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL)
        self.window.set_transient_for(self._parent.window.builder.get_object('main_window'))
        shobject('add').connect('clicked', self.add_clicked)
        shobject('delete').connect('clicked', self.delete_clicked)
        shobject('modify').connect('clicked', self.modify_clicked)
        shobject('in_out_list').connect('cursor-changed', self.cursor_changed)
示例#6
0
from time_control import time_control
from trapezoid import count_trapezoid
from rk2 import count_rk2

if __name__ == "__main__":

    time_control(method_procedure=count_trapezoid,\
                 method_name='trapezoid')

    time_control(method_procedure=count_rk2, \
                 method_name='rk2')
示例#7
0
if __name__ == "__main__":
    from time_control import time_control
    import gtk
    w = gtk.Dialog()
    p = w.get_content_area()
    cdt = gtk.CheckButton("all")
    cal = gtk.Calendar()
    ct = gtk.CheckButton("time")
    h = gtk.SpinButton()
    m = gtk.SpinButton()
    s = gtk.SpinButton()
    year = gtk.SpinButton()
    month = gtk.SpinButton()
    day = gtk.SpinButton()
    tcon = time_control(h, m, s, ct)
    dtcon = datetime_control(cal, tcon, checkbutton = cdt, year = year, month = month, day = day)
    dtcon.set_current_datetime()
    dtcon.set_datetime(datetime.datetime(2010, 10, 10, 10, 10, 10))
    def updated():
        print(dtcon.get_datetime())
    dtcon.update_callback = updated
    b = gtk.Button("push")
    l = gtk.Label()
    def clicked(bt):
        l.set_text("{0} - {1}".format(dtcon.get_date(), dtcon.get_time()))
    b.connect("clicked", clicked)
    def clickedb(bt):
        dtcon.set_current_datetime()
    bb = gtk.Button("set current")
    bb.connect("clicked", clickedb)