Пример #1
0
 def __init__(self, master, **opts):
     if not opts.has_key('yscrollincrement'):
         opts['yscrollincrement'] = 20
     self.master = master
     self.frame = TFrame(master, style="FlatFrame")
     self.frame.rowconfigure(0, weight=1)
     self.frame.columnconfigure(0, weight=1)
     self.canvas = Canvas(self.frame, **opts)
     self.canvas.grid(row=0, column=0, sticky="nsew")
     self.vbar = TScrollbar(self.frame, name="vbar")
     self.vbar.grid(row=0, column=1, sticky="nse")
     self.hbar = TScrollbar(self.frame, name="hbar", orient="horizontal")
     self.hbar.grid(row=1, column=0, sticky="ews")
     self.canvas['yscrollcommand'] = lambda f, l: self.scroll_sh(
         self.vbar, f, l)
     self.vbar['command'] = self.canvas.yview
     self.canvas['xscrollcommand'] = lambda f, l: self.scroll_sh(
         self.hbar, f, l)
     self.hbar['command'] = self.canvas.xview
     self.canvas.bind("<Key-Prior>", self.page_up)
     self.canvas.bind("<Key-Next>", self.page_down)
     self.canvas.bind("<Key-Up>", self.unit_up)
     self.canvas.bind("<Key-Down>", self.unit_down)
     self.canvas.bind("<Alt-Key-2>", self.zoom_height)
     self.canvas.bind("<Button-4>", self.unit_up)
     self.canvas.bind("<Button-5>", self.unit_down)
     self.canvas.focus_set()
Пример #2
0
    def build_tab_license(self):
        panel = TFrame(self.root, style='FlatFrame', borderwidth=5)
        self.nb.add(panel, text=_('License'))

        subpanel = TFrame(panel, style='RoundedFrame', borderwidth=4)
        subpanel.grid(sticky=N + S + E + W)

        panel.rowconfigure(0, weight=1)
        panel.columnconfigure(0, weight=1)
        subpanel.rowconfigure(0, weight=1)
        subpanel.columnconfigure(0, weight=1)

        sb = TScrollbar(subpanel)
        sb.grid(row=0, column=1, sticky=N + S)

        text = Text(subpanel,
                    highlightthickness=0,
                    font=app.config.preferences.fixed_font,
                    wrap=NONE)
        text.grid(row=0, column=0, sticky=N + S + E + W)

        text['yscrollcommand'] = sb.set
        sb['command'] = text.yview

        text['state'] = NORMAL
        import aboutdlg_lic
        txt = aboutdlg_lic.LICENSE
        text.insert(END, txt)
        text['state'] = DISABLED
Пример #3
0
	def build_dlg(self):
		root = self.top

		top = TFrame(root, borderwidth=2, style='FlatFrame')
		top.pack(side=TOP, expand=0, fill=BOTH)

		top2 = TFrame(top, height=3, style='FlatFrame')
		top2.pack(side=BOTTOM, expand=0, fill=X)

		button = UpdatedButton(top, text=_("Apply style"), command=self.apply_style, sensitivecb=self.can_apply, width=15)
		button.pack(side=BOTTOM, expand=0)
		self.Subscribe(SELECTION, button.Update)

		top2 = TFrame(top, height=3, style='FlatFrame')
		top2.pack(side=BOTTOM, expand=0, fill=X)

		button = UpdatedButton(top, text=_("Delete style"), command=self.remove_style, sensitivecb=self.can_remove, width=15)
		button.pack(side=BOTTOM, expand=0)

		top2 = TFrame(top, height=3, style='FlatFrame')
		top2.pack(side=BOTTOM, expand=0, fill=X)

		button = UpdatedButton(top, text=_("Create new style"), command=self.CreateStyleFromSelection,
							sensitivecb=self.main_window.document.CanCreateStyle, width=15)
		button.pack(side=BOTTOM, expand=0)
		self.Subscribe(SELECTION, button.Update)

		top2 = TFrame(top, height=5, style='FlatFrame')
		top2.pack(side=BOTTOM, expand=0, fill=X)

		list_frame = TFrame(top, style="RoundedFrame", borderwidth=5)
		list_frame.pack(side=TOP, expand=1, fill=BOTH)

		sb_vert = TScrollbar(list_frame, takefocus=0)
		sb_vert.pack(side=RIGHT, fill=Y)

		styles = UpdatedListbox(list_frame, bg='white', borderwidth=0, selectborderwidth=0)
		styles.pack(expand=1, fill=BOTH)
		styles.Subscribe(COMMAND, self.apply_style)

		sb_vert['command'] = (styles, 'yview')
		styles['yscrollcommand'] = (sb_vert, 'set')
		self.styles = styles
		root.resizable(width=0, height=0)
Пример #4
0
    def build_tab_localization(self):
        panel = TFrame(self.root, style='FlatFrame', borderwidth=5)
        self.nb.add(panel, text=_('Localization'))

        subpanel = TFrame(panel, style='RoundedFrame', borderwidth=4)
        subpanel.grid(sticky=N + S + E + W)

        panel.rowconfigure(0, weight=1)
        panel.columnconfigure(0, weight=1)
        subpanel.rowconfigure(0, weight=1)
        subpanel.columnconfigure(0, weight=1)

        sb = TScrollbar(subpanel)
        sb.grid(row=0, column=1, sticky=N + S)

        text = Text(subpanel, bg='white', highlightthickness=0, wrap=NONE)
        text.grid(row=0, column=0, sticky=N + S + E + W)

        text['yscrollcommand'] = sb.set
        sb['command'] = text.yview

        text['state'] = NORMAL
        text.insert(END, TRANSLATORS)
        text['state'] = DISABLED
Пример #5
0
    def build_tab_authors(self):
        panel = TFrame(self.root, style='FlatFrame', borderwidth=5)
        self.nb.add(panel, text=_('Authors'))

        subpanel = TFrame(panel, style='RoundedFrame', borderwidth=4)
        subpanel.grid(sticky=N + S + E + W)

        panel.rowconfigure(0, weight=1)
        panel.columnconfigure(0, weight=1)
        subpanel.rowconfigure(0, weight=1)
        subpanel.columnconfigure(0, weight=1)

        sb = TScrollbar(subpanel)
        sb.grid(row=0, column=1, sticky=N + S)

        text = Text(subpanel, bg='white', highlightthickness=0, wrap=NONE)
        text.grid(row=0, column=0, sticky=N + S + E + W)

        text['yscrollcommand'] = sb.set
        sb['command'] = text.yview

        txt = _(
            '\nTo report bugs please use project bugtracker: https://bugs.launchpad.net/sk1/\n\n'
        )
        txt += _(
            'Igor Novikov\n   [email protected]\n   Project Leader\n\n')
        txt += _(
            'Maxim Barabash\n   [email protected]\n   Designer\n\n')
        txt += _('Acknowledgments:\n=======================================\n')
        txt += _('Valek Fillipov\n   CDR format reverse engineering\n\n')
        txt += _(
            'Alexandre Prokoudine\n   [email protected]\n   Information support (http://linuxgraphics.ru)'
        )
        text['state'] = NORMAL
        text.insert(END, txt)
        text['state'] = DISABLED
Пример #6
0
	def build_window(self):
		root = self.application.root

		# the menu
		self.mbar = TFrame(root, name='menubar', style='MenuBarFrame', borderwidth=2)
		self.mbar.pack(fill=X)

		# the toolbar
		self.tbar = TFrame(root, name='toolbar', style='ToolBarFrame', borderwidth=2)
		self.tbar.pack(fill=X)

		# the context panel
		self.ctxpanel = ctxPanel.ContexPanel(root, self)
		self.ctxpanel.panel.pack(fill=X)

		b = ToolbarButton(self.ctxpanel.panel, self.commands.PCshowHide, image="show_side_panel")
		tooltips.AddDescription(b, self.commands.PCshowHide.menu_name)
		b.pack(side=RIGHT)

		# the status bar
		self.status_bar = TFrame(root, name='statusbar', style='FlatFrame')
		self.status_bar.pack(side=BOTTOM, fill=X)

		# the tools bar
		self.tframe = TFrame(root, name='tools_frame', style='FlatFrame', borderwidth=2)
		self.tframe.pack(side=LEFT, fill=Y)

		# the palette

		p_frame = TFrame(root, style='FlatFrame')
		p_frame.pack(side='right', fill=Y)

		palette_frame = TFrame(p_frame, style='FlatFrame')
		palette_frame.pack(side='right', fill=Y, pady=5, padx=3)

		b = TLabel(root, style='VLine2')
		b.pack(side=RIGHT, fill=Y)

		####################################
		# Drawing area creating
		####################################

		pc_frame = TFrame(root, style='FlatFrame')
		pc_frame.pack(side='right', fill=Y, expand=1)

		self.pc = PluginContainer(pc_frame, self.root, self)

		base_frame = TFrame(root, name='drawing_area_frame', style='FlatFrame')
		base_frame.pack(side=LEFT, fill=BOTH, expand=1)

		self.tabspanel = TabsPanel(base_frame, self)
		self.tabspanel.pack(side=TOP, fill=X)
		self.docmanager.Activate(self.tabspanel)

		label = TLabel(base_frame, style='DrawingAreaBottom', image='space_5')
		label.pack(side=BOTTOM, fill=X)

		label = TLabel(base_frame, style='DrawingAreaLeft', image='space_5')
		label.pack(side=LEFT, fill=Y, expand=1)

		label = TLabel(base_frame, style='DrawingAreaRight', image='space_5')
		label.pack(side=RIGHT, fill=Y, expand=1)

		####################################
		frame = TFrame(base_frame, name='canvas_frame', style='FlatFrame')
		frame.pack(side=LEFT, fill=BOTH, expand=1)

		vbar = TScrollbar(frame)
		vbar.grid(in_=frame, column=3, row=1, sticky='ns')
		vbar.bind('<Button-4>', self.ScrollUpCanvas)
		vbar.bind('<Button-5>', self.ScrollDownCanvas)

		############Pager###################
		pframe = TFrame(frame, style='FlatFrame')
		pframe.grid(in_=frame, column=2, row=2, sticky='ew')

		lab = Pager(pframe, self)
		lab.pack(side=LEFT, fill=Y)
		####################################
		hbar = TScrollbar(pframe, orient=HORIZONTAL)
		hbar.pack(side=RIGHT, fill=X, expand=1)
		hbar.bind('<Button-4>', self.ScrollLeftCanvas)
		hbar.bind('<Button-5>', self.ScrollRightCanvas)
		####################################

		hrule = tkruler.Ruler(frame, orient=tkruler.HORIZONTAL,
							  bg=config.preferences.ruler_color, relief='flat')

		hrule.grid(in_=frame, column=2, row=0, sticky='nsew', columnspan=2)
		hrule.bind('<Double-Button-1>', self.RulerDoublePressH)

		####################################

		vrule = tkruler.Ruler(frame, orient=tkruler.VERTICAL,
							  bg=config.preferences.ruler_color, relief='flat')

		vrule.grid(in_=frame, column=1, row=1, sticky='nsew', rowspan=2)
		vrule.bind('<Double-Button-1>', self.RulerDoublePressV)

		#ruler corner
		b = tkruler.RulerCorner(frame, bg=config.preferences.ruler_color)
		tooltips.AddDescription(b, _('Change system coordinates'))
		b.grid(column=1, row=0, sticky='news')

		resolution = config.preferences.screen_resolution
		self.canvas = SketchCanvas(root, toplevel=root, background='white', name='canvas',
				width=self.root.winfo_screenwidth(), height=self.root.winfo_screenheight(),
				resolution=resolution, main_window=self, document=self.document)

		self.canvas.grid(in_=frame, column=2, row=1, sticky='news')
		self.canvas.focus()
		self.canvas.SetScrollbars(hbar, vbar)
		self.canvas.SetRulers(hrule, vrule)

		vrule.SetCanvas(self.canvas)
		hrule.SetCanvas(self.canvas)

		frame.columnconfigure(0, weight=0)
		frame.columnconfigure(1, weight=0)
		frame.columnconfigure(2, weight=1)
		frame.columnconfigure(3, weight=0)
		frame.rowconfigure(0, weight=0)
		frame.rowconfigure(1, weight=1)
		frame.rowconfigure(2, weight=0)
		hbar['command'] = self.canvas._w + ' xview'
		vbar['command'] = self.canvas._w + ' yview'

		# the palette

		pal = palette.get_default_palette()

		palette_trough = TFrame(palette_frame, style='FlatFrame')
		palette_container = TFrame(palette_trough, style='FlatFrame')

		self.palette = palette.PaletteWidget(palette_container)
		self.palette.SetPalette(pal)
		ScrollXUnits = self.palette.ScrollXUnits
		ScrollXPages = self.palette.ScrollXPages
		CanScrollLeft = self.palette.CanScrollLeft
		CanScrollRight = self.palette.CanScrollRight

		but1 = UpdatedTButton(palette_frame, class_='Repeater', style='Pal2TopButton', image='pal_dbl_arrow_up',
					command=ScrollXPages, args=-1, sensitivecb=CanScrollLeft)
		but1.pack(side=TOP)
		but2 = UpdatedTButton(palette_frame, class_='Repeater', style='PalTopButton', image='pal_arrow_up',
					command=ScrollXUnits, args=-1, sensitivecb=CanScrollLeft)
		but2.pack(side=TOP)

		palette_trough.pack(side=TOP, fill=Y, expand=1)

		b = TLabel(palette_trough, style='PalLBorder')
		b.pack(side=LEFT, fill=Y)

		palette_container.pack(side=LEFT, fill=Y, expand=1)

		but = UpdatedTButton(palette_container, style='PalNoColorButton', image='pal_no_color',
					command=self.no_pattern, args='fill')
		but.pack(side=TOP)
		but.bind('<ButtonPress-3>', self.no_pattern, 'line')
		tooltips.AddDescription(but, _("No color"))

		self.palette.pack(side=LEFT, fill=Y, expand=1)

		b = TLabel(palette_trough, style='PalRBorder')
		b.pack(side='right', fill=Y)

		but3 = UpdatedTButton(palette_frame, class_='Repeater', style='PalBottomButton', image='pal_arrow_down',
					command=ScrollXUnits, args=+1, sensitivecb=CanScrollRight)
		but3.pack(side=TOP)
		but4 = UpdatedTButton(palette_frame, class_='Repeater', style='Pal2BottomButton', image='pal_dbl_arrow_down',
					command=ScrollXPages, args=+1, sensitivecb=CanScrollRight)
		but4.pack(side=TOP)

		self.palette.Subscribe(COLOR1, self.canvas.FillSolid)
		self.palette.Subscribe(COLOR2, self.canvas.LineColor)
		root.protocol('WM_DELETE_WINDOW', tkext.MakeMethodCommand(self.Exit))

		#Binding for mouse wheel
		self.palette.bind('<Button-4>', self.ScrollUpPallette)
		self.palette.bind('<Button-5>', self.ScrollDownPallette)
		self.canvas.bind('<Button-4>', self.ScrollUpCanvas)
		self.canvas.bind('<Button-5>', self.ScrollDownCanvas)
		self.canvas.bind('<Control-Button-4>', self.ScrollLeftCanvas)
		self.canvas.bind('<Control-Button-5>', self.ScrollRightCanvas)
		self.canvas.bind('<Shift-Button-4>', self.CanvasZoomingOut)
		self.canvas.bind('<Shift-Button-5>', self.CanvasZoomingIn)
Пример #7
0
    def init(self, master):
        PluginPanel.init(self, master)
        top = self.panel

        grid_top = TFrame(top, borderwidth=2, style='FlatFrame')
        grid_top.pack(side=TOP, expand=1, fill=X)

        var_number = DoubleVar(top)
        var_unit = StringVar(top)
        self.var_pos = LengthVar(1.0,
                                 config.preferences.default_unit,
                                 var_number,
                                 var_unit,
                                 command=self.set_pos)

        top1 = TFrame(top, style='FlatFrame')
        top1.pack(side=TOP, expand=0, fill=BOTH)

        list_frame = TFrame(top1, style="RoundedFrame", borderwidth=5)
        list_frame.pack(side=TOP, expand=1, fill=BOTH)

        sb_vert = TScrollbar(list_frame)
        sb_vert.pack(side=RIGHT, fill=Y)
        guides = UpdatedListbox(list_frame,
                                bg='white',
                                borderwidth=0,
                                selectborderwidth=0,
                                width=20,
                                height=8)
        guides.pack(expand=1, fill=BOTH)
        guides.Subscribe(SELECTION, self.select_guide)
        sb_vert['command'] = (guides, 'yview')
        guides['yscrollcommand'] = (sb_vert, 'set')
        self.guides = guides
        self.selected = None

        pos_frame = TFrame(top1, style='FlatFrame')
        pos_frame.pack(side=TOP, expand=0)

        top2 = TFrame(pos_frame, height=15, style='FlatFrame')
        top2.pack(side=TOP, expand=0, fill=X)

        self.var_label = StringVar(top)
        self.var_label.set('X: ')

        labelunit = UnitLabel(pos_frame)
        labelunit.pack(side=RIGHT, expand=0, anchor=W)

        label = TLabel(pos_frame, image='space_6', style='FlatLabel')
        label.pack(side=RIGHT)

        self.entry = TSpinbox(pos_frame,
                              var=0,
                              vartype=1,
                              min=-50000,
                              max=50000,
                              step=.1,
                              width=6,
                              command=self.pos_changed)
        self.entry.pack(side=RIGHT, expand=0, anchor=E)

        label = TLabel(pos_frame,
                       textvariable=self.var_label,
                       style='FlatLabel')
        label.pack(side=RIGHT, expand=0, anchor=E)

        frame = TFrame(top1, style='FlatFrame')
        frame.pack(side=TOP, fill=X)
        top2 = TFrame(frame, height=15, width=120, style='FlatFrame')
        top2.pack(side=TOP)

        button = UpdatedButton(frame,
                               text=_("Add Horizontal Guide"),
                               command=self.add_guide,
                               args=1)
        button.pack(side=TOP)

        top2 = TFrame(frame, height=3, style='FlatFrame')
        top2.pack(side=TOP, expand=0, fill=X)

        button = UpdatedButton(frame,
                               text=_("Add Vertical Guide"),
                               command=self.add_guide,
                               args=0)
        button.pack(side=TOP)

        top2 = TFrame(frame, height=3, style='FlatFrame')
        top2.pack(side=TOP, expand=0, fill=X)

        button = UpdatedButton(frame,
                               text=_("Delete Guide"),
                               command=self.del_guide)
        button.pack(side=TOP)

        top2 = TFrame(frame, height=5, style='FlatFrame')
        top2.pack(side=TOP, expand=0, fill=X)

        app.mw.docmanager.activedoc.Subscribe(GUIDE_LINES, self.init_from_doc)
        app.mw.Subscribe(DOCUMENT, self.init_from_doc)
        self.init_from_doc()