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"))
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)
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')
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)