Example #1
0
    def __init__(self, master, app):
        CNCRibbon.ButtonGroup.__init__(self, master, N_("Info"), app)
        self.grid2rows()

        # ---
        col, row = 0, 0
        b = Ribbon.LabelButton(self.frame,
                               image=Utils.icons["stats"],
                               text=_("Statistics"),
                               compound=LEFT,
                               anchor=W,
                               command=app.showStats,
                               background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(b, _("Show statistics for enabled gcode"))
        self.addWidget(b)

        # ---
        row += 1
        b = Ribbon.LabelButton(self.frame,
                               image=Utils.icons["info"],
                               text=_("Info"),
                               compound=LEFT,
                               anchor=W,
                               command=app.showInfo,
                               background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(
            b, _("Show cutting information on selected blocks [Ctrl-n]"))
        self.addWidget(b)
Example #2
0
    def __init__(self, master, app):
        CNCRibbon.ButtonGroup.__init__(self, master, "Probe:Tool", app)
        self.label["background"] = Ribbon._BACKGROUND_GROUP2

        b = Ribbon.LabelButton(self.frame,
                               self,
                               "<<ToolCalibrate>>",
                               image=Utils.icons["probe32"],
                               text=_("Calibrate"),
                               compound=TOP,
                               width=48,
                               background=Ribbon._BACKGROUND)
        b.pack(side=LEFT, fill=BOTH, expand=YES)
        self.addWidget(b)
        tkExtra.Balloon.set(
            b,
            _("Perform a single a tool change cycle to set the calibration field"
              ))

        b = Ribbon.LabelButton(self.frame,
                               self,
                               "<<ToolChange>>",
                               image=Utils.icons["endmill32"],
                               text=_("Change"),
                               compound=TOP,
                               width=48,
                               background=Ribbon._BACKGROUND)
        b.pack(side=LEFT, fill=BOTH, expand=YES)
        self.addWidget(b)
        tkExtra.Balloon.set(b, _("Perform a tool change cycle"))
Example #3
0
    def __init__(self, master, app):
        CNCRibbon.ButtonGroup.__init__(self, master, N_("Pendant"), app)
        self.grid3rows()

        col, row = 0, 0
        b = Ribbon.LabelButton(self.frame,
                               text=_("Start"),
                               image=Utils.icons["startPendant"],
                               compound=LEFT,
                               anchor=W,
                               command=app.startPendant,
                               background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(b, _("Start pendant"))

        row += 1
        b = Ribbon.LabelButton(self.frame,
                               text=_("Stop"),
                               image=Utils.icons["stopPendant"],
                               compound=LEFT,
                               anchor=W,
                               command=app.stopPendant,
                               background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(b, _("Stop pendant"))
Example #4
0
	def __init__(self, master, app):
		CNCRibbon.ButtonGroup.__init__(self, master, "Run", app)

		b = Ribbon.LabelButton(self.frame, self, "<<Run>>",
				image=Utils.icons["start32"],
				text=_("Start"),
				compound=TOP,
				background=Ribbon._BACKGROUND)
		b.pack(side=LEFT, fill=BOTH)
		tkExtra.Balloon.set(b, _("Run g-code commands from editor to controller"))
		self.addWidget(b)

		b = Ribbon.LabelButton(self.frame, self, "<<Pause>>",
				image=Utils.icons["pause32"],
				text=_("Pause"),
				compound=TOP,
				background=Ribbon._BACKGROUND)
		b.pack(side=LEFT, fill=BOTH)
		tkExtra.Balloon.set(b, _("Pause running program. Sends either FEED_HOLD ! or CYCLE_START ~"))

		b = Ribbon.LabelButton(self.frame, self, "<<Stop>>",
				image=Utils.icons["stop32"],
				text=_("Stop"),
				compound=TOP,
				background=Ribbon._BACKGROUND)
		b.pack(side=LEFT, fill=BOTH)
		tkExtra.Balloon.set(b, _("Pause running program and soft reset controller to empty the buffer."))
Example #5
0
    def __init__(self, master, app):
        CNCRibbon.ButtonMenuGroup.__init__(self, master, N_("Order"), app, [
            (_("Optimize"), "optimize",
             lambda a=app: a.insertCommand("OPTIMIZE", True)),
        ])

        self.grid2rows()

        col, row = 0, 0

        b = Ribbon.LabelButton(self.frame,
                               self,
                               "<Control-Key-Prior>",
                               image=OCV.icons["up"],
                               text=_("Up"),
                               compound=Tk.LEFT,
                               anchor=Tk.W,
                               background=OCV.COLOR_BACKGROUND)

        b.grid(row=row, column=col, padx=0, pady=0, sticky=Tk.NSEW)

        tkExtra.Balloon.set(b,
                            _("Move selected g-code up [Ctrl-Up, Ctrl-PgUp]"))

        self.addWidget(b)

        # ---
        row += 1
        b = Ribbon.LabelButton(self.frame,
                               self,
                               "<Control-Key-Next>",
                               image=OCV.icons["down"],
                               text=_("Down"),
                               compound=Tk.LEFT,
                               anchor=Tk.W,
                               background=OCV.COLOR_BACKGROUND)

        b.grid(row=row, column=col, padx=0, pady=0, sticky=Tk.NSEW)

        tkExtra.Balloon.set(
            b, _("Move selected g-code down [Ctrl-Down, Ctrl-PgDn]"))

        self.addWidget(b)

        row += 1

        b = Ribbon.LabelButton(self.frame,
                               self,
                               "<<Invert>>",
                               image=OCV.icons["swap"],
                               text=_("Invert"),
                               compound=Tk.LEFT,
                               anchor=Tk.W,
                               background=OCV.COLOR_BACKGROUND)

        b.grid(row=row, column=col, padx=0, pady=0, sticky=Tk.NSEW)

        tkExtra.Balloon.set(b, _("Invert cutting order of selected blocks"))

        self.addWidget(b)
Example #6
0
	def __init__(self, master, app):
		CNCRibbon.ButtonMenuGroup.__init__(self, master, N_("Connection"), app,
			[(_("Hard Reset"),  "reset",     app.hardReset) ])
		self.grid2rows()

		# ---
		col,row=0,0
		b = Ribbon.LabelButton(self.frame,
				image=Utils.icons["home32"],
				text=_("Home"),
				compound=TOP,
				anchor=W,
				command=app.home,
				background=Ribbon._BACKGROUND)
		b.grid(row=row, column=col, rowspan=3, padx=0, pady=0, sticky=NSEW)
		tkExtra.Balloon.set(b, _("Perform a homing cycle [$H]"))
		self.addWidget(b)

		# ---
		col,row=1,0
		b = Ribbon.LabelButton(self.frame,
				image=Utils.icons["unlock"],
				text=_("Unlock"),
				compound=LEFT,
				anchor=W,
				command=app.unlock,
				background=Ribbon._BACKGROUND)
		b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
		tkExtra.Balloon.set(b, _("Unlock controller [$X]"))
		self.addWidget(b)

		row += 1
		b = Ribbon.LabelButton(self.frame,
				image=Utils.icons["serial"],
				text=_("Connection"),
				compound=LEFT,
				anchor=W,
				command=lambda s=self : s.event_generate("<<Connect>>"),
				background=Ribbon._BACKGROUND)
		b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
		tkExtra.Balloon.set(b, _("Open/Close connection"))
		self.addWidget(b)

		row += 1
		b = Ribbon.LabelButton(self.frame,
				image=Utils.icons["reset"],
				text=_("Reset"),
				compound=LEFT,
				anchor=W,
				command=app.softReset,
				background=Ribbon._BACKGROUND)
		b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
		tkExtra.Balloon.set(b, _("Software reset of controller [ctrl-x]"))
		self.addWidget(b)
Example #7
0
    def __init__(self, master, app):
        CNCRibbon.ButtonGroup.__init__(self, master, "Options", app)
        self.grid3rows()

        #		# ---
        #		col,row=0,0
        #		b = Ribbon.LabelButton(self.frame, #self.page, "<<Config>>",
        #				text=_("Config"),
        #				image=Utils.icons["config32"],
        ##				command=self.app.preferences,
        #				state=DISABLED,
        #				compound=TOP,
        #				anchor=W,
        #				background=Ribbon._BACKGROUND)
        #		b.grid(row=row, column=col, rowspan=3, padx=0, pady=0, sticky=NS)
        #		tkExtra.Balloon.set(b, _("Open configuration dialog"))

        # ===
        col, row = 1, 0
        b = Ribbon.LabelButton(self.frame,
                               text=_("Report"),
                               image=Utils.icons["debug"],
                               compound=LEFT,
                               command=Utils.ReportDialog.sendErrorReport,
                               anchor=W,
                               background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, padx=0, pady=0, sticky=EW)
        tkExtra.Balloon.set(b, _("Send Error Report"))

        # ---
        col, row = 1, 1
        b = Ribbon.LabelButton(
            self.frame,
            text=_("Updates"),
            image=Utils.icons["global"],
            compound=LEFT,
            state=DISABLED,
            #				command=self.app.checkUpdates,
            anchor=W,
            background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, padx=0, pady=0, sticky=EW)
        tkExtra.Balloon.set(b, _("Check Updates"))

        col, row = 1, 2
        b = Ribbon.LabelButton(self.frame,
                               text=_("About"),
                               image=Utils.icons["about"],
                               compound=LEFT,
                               command=self.app.about,
                               anchor=W,
                               background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, padx=0, pady=0, sticky=EW)
        tkExtra.Balloon.set(b, _("About the program"))
Example #8
0
	def __init__(self, master, app):
		CNCRibbon.ButtonGroup.__init__(self, master, N_("File"), app)
		self.grid3rows()

		# ---
		col,row=0,0
		b = Ribbon.LabelButton(self.frame, self, "<<New>>",
				image=Utils.icons["new32"],
				text=_("New"),
				compound=TOP,
				background=Ribbon._BACKGROUND)
		b.grid(row=row, column=col, rowspan=3, padx=0, pady=0, sticky=NSEW)
		tkExtra.Balloon.set(b, _("New gcode/dxf file"))
		self.addWidget(b)

		# ---
		col,row=1,0
		b = Ribbon.LabelButton(self.frame, self, "<<Open>>",
				image=Utils.icons["open32"],
				background=Ribbon._BACKGROUND)
		b.grid(row=row, column=col, rowspan=2, padx=0, pady=0, sticky=NSEW)
		tkExtra.Balloon.set(b, _("Open existing gcode/dxf file [Ctrl-O]"))
		self.addWidget(b)

		col,row=1,2
		b = _RecentMenuButton(self.frame, None,
				text=_("Open"),
				image=Utils.icons["triangle_down"],
				compound=RIGHT,
				background=Ribbon._BACKGROUND)
		b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
		tkExtra.Balloon.set(b, _("Open recent file"))
		self.addWidget(b)

		# ---
		col,row=2,0
		b = Ribbon.LabelButton(self.frame, self, "<<Save>>",
				image=Utils.icons["save32"],
				command=app.save,
				background=Ribbon._BACKGROUND)
		b.grid(row=row, column=col, rowspan=2, padx=0, pady=0, sticky=NSEW)
		tkExtra.Balloon.set(b, _("Save gcode/dxf file [Ctrl-S]"))
		self.addWidget(b)

		col,row=2,2
		b = Ribbon.LabelButton(self.frame, self, "<<SaveAs>>",
				text=_("Save"),
				image=Utils.icons["triangle_down"],
				compound=RIGHT,
				background=Ribbon._BACKGROUND)
		b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
		tkExtra.Balloon.set(b, _("Save gcode/dxf AS"))
		self.addWidget(b)
Example #9
0
	def __init__(self, master, app):
		CNCRibbon.ButtonGroup.__init__(self, master, "Probe:Autolevel", app)
		self.label["background"] = Ribbon._BACKGROUND_GROUP2
		self.grid3rows()

		# ---
		col,row=0,0
		b = Ribbon.LabelButton(self.frame, self, "<<AutolevelMargins>>",
				image=Utils.icons["margins"],
				text=_("Margins"),
				compound=LEFT,
				anchor=W,
				background=Ribbon._BACKGROUND)
		b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
		tkExtra.Balloon.set(b, _("Get margins from gcode file"))
		self.addWidget(b)

		# ---
		row += 1
		b = Ribbon.LabelButton(self.frame, self, "<<AutolevelZero>>",
				image=Utils.icons["origin"],
				text=_("Zero"),
				compound=LEFT,
				anchor=W,
				background=Ribbon._BACKGROUND)
		b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
		tkExtra.Balloon.set(b, _("Set current location as Z-zero for leveling"))
		self.addWidget(b)

		# ---
		row += 1
		b = Ribbon.LabelButton(self.frame, self, "<<AutolevelClear>>",
				image=Utils.icons["clear"],
				text=_("Clear"),
				compound=LEFT,
				anchor=W,
				background=Ribbon._BACKGROUND)
		b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
		tkExtra.Balloon.set(b, _("Clear probe data"))
		self.addWidget(b)

		# ---
		col,row=1,0
		b = Ribbon.LabelButton(self.frame, self, "<<AutolevelScan>>",
				image=Utils.icons["gear32"],
				text=_("Scan"),
				compound=TOP,
				justify=CENTER,
				width=48,
				background=Ribbon._BACKGROUND)
		b.grid(row=row, column=col, rowspan=3, padx=0, pady=0, sticky=NSEW)
		self.addWidget(b)
		tkExtra.Balloon.set(b, _("Scan probed area for level information on Z plane"))
Example #10
0
    def __init__(self, master, app):
        CNCRibbon.ButtonGroup.__init__(self, master, N_("Route"), app)
        self.grid3rows()

        # ---
        col, row = 0, 0
        b = Ribbon.LabelButton(self.frame,
                               image=Utils.icons["conventional"],
                               text=_("Conventional"),
                               compound=LEFT,
                               anchor=W,
                               command=lambda s=app: s.insertCommand(
                                   "DIRECTION CONVENTIONAL", True),
                               background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(
            b,
            _("Change cut direction to conventional for selected gcode blocks")
        )
        self.addWidget(b)

        # ---
        row += 1
        b = Ribbon.LabelButton(
            self.frame,
            image=Utils.icons["climb"],
            text=_("Climb"),
            compound=LEFT,
            anchor=W,
            command=lambda s=app: s.insertCommand("DIRECTION CLIMB", True),
            background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(
            b, _("Change cut direction to climb for selected gcode blocks"))
        self.addWidget(b)

        # ---
        row += 1
        b = Ribbon.LabelButton(
            self.frame,
            image=Utils.icons["reverse"],
            text=_("Reverse"),
            compound=LEFT,
            anchor=W,
            command=lambda s=app: s.insertCommand("REVERSE", True),
            background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(
            b, _("Reverse cut direction for selected gcode blocks"))
        self.addWidget(b)
Example #11
0
    def __init__(self, master, app):
        CNCRibbon.ButtonGroup.__init__(self, master, N_("Clipboard"), app)
        self.grid2rows()

        b = Ribbon.LabelButton(self.frame,
                               self,
                               "<<Paste>>",
                               image=OCV.icons["paste32"],
                               text=_("Paste"),
                               compound=Tk.TOP,
                               takefocus=Tk.FALSE,
                               background=OCV.COLOR_BACKGROUND)

        b.grid(row=0, column=0, rowspan=2, padx=0, pady=0, sticky=Tk.NSEW)

        tkExtra.Balloon.set(b, _("Paste [Ctrl-V]"))

        self.addWidget(b)

        b = Ribbon.LabelButton(self.frame,
                               self,
                               "<<Cut>>",
                               image=OCV.icons["cut"],
                               text=_("Cut"),
                               compound=Tk.LEFT,
                               anchor=Tk.W,
                               takefocus=Tk.FALSE,
                               background=OCV.COLOR_BACKGROUND)

        tkExtra.Balloon.set(b, _("Cut [Ctrl-X]"))

        b.grid(row=0, column=1, padx=0, pady=1, sticky=Tk.NSEW)

        self.addWidget(b)

        b = Ribbon.LabelButton(self.frame,
                               self,
                               "<<Copy>>",
                               image=OCV.icons["copy"],
                               text=_("Copy"),
                               compound=Tk.LEFT,
                               anchor=Tk.W,
                               takefocus=Tk.FALSE,
                               background=OCV.COLOR_BACKGROUND)

        tkExtra.Balloon.set(b, _("Copy [Ctrl-C]"))

        b.grid(row=1, column=1, padx=0, pady=1, sticky=Tk.NSEW)

        self.addWidget(b)
Example #12
0
    def __init__(self, master, app):
        CNCRibbon.ButtonGroup.__init__(self, master, "Run", app)
        OCV.TK_RUN_GROUP = self

        but = Ribbon.LabelButton(
            self.frame,
            self, "<<Run>>",
            image=OCV.icons["start32"],
            text=_("Start"),
            compound=Tk.TOP,
            background=OCV.COLOR_BG)

        but.pack(side=Tk.LEFT, fill=Tk.BOTH)

        tkExtra.Balloon.set(
            but, _("Run g-code commands from editor to controller"))

        self.addWidget(but)

        but = Ribbon.LabelButton(
            self.frame,
            self, "<<Pause>>",
            name="run_pause",
            image=OCV.icons["pause32"],
            text=_("Pause"),
            compound=Tk.TOP,
            background=OCV.COLOR_BG)

        but.pack(side=Tk.LEFT, fill=Tk.BOTH)

        tkExtra.Balloon.set(
            but,
            _("Pause running program. Sends either FEED_HOLD ! or CYCLE_START ~"))

        but = Ribbon.LabelButton(
            self.frame,
            self, "<<Stop>>",
            name="run_stop",
            image=OCV.icons["stop32"],
            text=_("Stop"),
            compound=Tk.TOP,
            background=OCV.COLOR_BG)

        but.pack(side=Tk.LEFT, fill=Tk.BOTH)

        tkExtra.Balloon.set(
            but,
            _("Pause running program and soft reset controller to empty the buffer."))
Example #13
0
    def __init__(self, master, app):
        CNCRibbon.ButtonGroup.__init__(self, master, N_("File"), app)
        self.grid1rows()

        # # ---
        # col,row=0,0
        # b = Ribbon.LabelButton(self.frame, self, "<<New>>",
        # 		image=Utils.icons["new32"],
        # 		text=_("New"),
        # 		compound=TOP,
        # 		background=Ribbon._BACKGROUND)
        # b.grid(row=row, column=col, rowspan=3, padx=0, pady=0, sticky=NSEW)
        # tkExtra.Balloon.set(b, _("New gcode/dxf file"))
        # self.addWidget(b)
        #
        # ---

        col, row = 0, 0
        b = Ribbon.LabelButton(self.frame,
                               self,
                               "<<Open>>",
                               image=Utils.icons["open32"],
                               text=_("Open"),
                               compound=TOP,
                               width=40,
                               background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, rowspan=2, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(b, _("Open existing gcode/dxf file [Ctrl-O]"))
        self.addWidget(b)
Example #14
0
    def __init__(self, master, app):
        CNCRibbon.ButtonGroup.__init__(self, master, N_("Select"), app)
        self.grid3rows()

        # ---
        col, row = 0, 0
        b = Ribbon.LabelButton(self.frame,
                               app,
                               "<<SelectAll>>",
                               image=Utils.icons["select_all"],
                               text=_("All"),
                               compound=LEFT,
                               anchor=W,
                               background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(b, _("Select all blocks [Ctrl-A]"))
        self.addWidget(b)

        # ---
        row += 1
        b = Ribbon.LabelButton(self.frame,
                               app,
                               "<<SelectNone>>",
                               image=Utils.icons["select_none"],
                               text=_("None"),
                               compound=LEFT,
                               anchor=W,
                               background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(b, _("Unselect all blocks [Ctrl-Shift-A]"))
        self.addWidget(b)

        # ---
        row += 1
        b = Ribbon.LabelButton(self.frame,
                               app,
                               "<<SelectInvert>>",
                               image=Utils.icons["select_invert"],
                               text=_("Invert"),
                               compound=LEFT,
                               anchor=W,
                               background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(b, _("Invert selection [Ctrl-I]"))
        self.addWidget(b)
Example #15
0
	def __init__(self, master, app):
		CNCRibbon.ButtonGroup.__init__(self, master, N_("Terminal"), app)

		b = Ribbon.LabelButton(self.frame, self, "<<TerminalClear>>",
				image=Utils.icons["clean32"],
				text=_("Clear"),
				compound=TOP,
				background=Ribbon._BACKGROUND)
		b.pack(fill=BOTH, expand=YES)
		tkExtra.Balloon.set(b, _("Clear terminal"))
Example #16
0
    def __init__(self, master, app):
        CNCRibbon.ButtonGroup.__init__(self, master, N_("Calculate"), app)
        self.grid3rows()

        #		# ---
        #		col,row=0,0
        #		b = Ribbon.LabelButton(self.frame, #self.page, "<<Config>>",
        #				text=_("Config"),
        #				image=Utils.icons["config32"],
        ##				command=self.app.preferences,
        #				state=DISABLED,
        #				compound=TOP,
        #				anchor=W,
        #				background=Ribbon._BACKGROUND)
        #		b.grid(row=row, column=col, rowspan=3, padx=0, pady=0, sticky=NS)
        #		tkExtra.Balloon.set(b, _("Open configuration dialog"))

        # ===
        col, row = 0, 0
        b = Ribbon.LabelButton(
            self.frame,
            text=_("Calculate"),
            image=Utils.icons["gear32"],
            compound=TOP,
            anchor=W,
            command=app.drawText,
            #command = Tag.drawText(app),
            background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, rowspan=3, padx=10, pady=10, sticky=NSEW)
        tkExtra.Balloon.set(b, _("Calculate G code"))
        self.addWidget(b)

        col, row = 1, 0
        b = Ribbon.LabelButton(self.frame,
                               text=_("Probe Tool"),
                               image=Utils.icons["probe32"],
                               compound=TOP,
                               anchor=W,
                               command=app.probeTool,
                               background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, rowspan=3, padx=10, pady=10, sticky=NSEW)
        tkExtra.Balloon.set(b, _("Probe Tool"))
        self.addWidget(b)
Example #17
0
    def __init__(self, master, app):
        CNCRibbon.ButtonGroup.__init__(self, master, N_("Close"), app)

        # ---
        b = Ribbon.LabelButton(self.frame,
                               text=_("Exit"),
                               image=Utils.icons["exit32"],
                               compound=TOP,
                               command=app.quit,
                               anchor=W,
                               background=Ribbon._BACKGROUND)
        b.pack(fill=BOTH, expand=YES)
        tkExtra.Balloon.set(b, _("Close program [Ctrl-Q]"))
Example #18
0
    def __init__(self, master, app):
        CNCRibbon.ButtonGroup.__init__(self, master, N_("Terminal"), app)

        but = Ribbon.LabelButton(
            self.frame,
            self, "<<TerminalClear>>",
            image=OCV.icons["clean32"],
            text=_("Clear"),
            compound=Tk.TOP,
            background=OCV.COLOR_BACKGROUND)

        but.pack(fill=Tk.BOTH, expand=Tk.YES)

        tkExtra.Balloon.set(but, _("Clear terminal"))
Example #19
0
    def __init__(self, master, app):
        CNCRibbon.ButtonGroup.__init__(
                self,
                master,
                N_("Pendant"),
                app)

        self.grid3rows()

        col, row = 0, 0
        b = Ribbon.LabelButton(
            self.frame,
            text=_("Start"),
            image=OCV.icons["start_pendant"],
            compound=Tk.LEFT,
            anchor=Tk.W,
            command=OCV.TK_MAIN.startPendant,
            background=OCV.COLOR_BG)

        b.grid(row=row, column=col, padx=0, pady=0, sticky=Tk.NSEW)

        tkExtra.Balloon.set(b, _("Start pendant"))

        row += 1

        b = Ribbon.LabelButton(
            self.frame,
            text=_("Stop"),
            image=OCV.icons["stop_pendant"],
            compound=Tk.LEFT,
            anchor=Tk.W,
            command=OCV.TK_MAIN.stopPendant,
            background=OCV.COLOR_BG)

        b.grid(row=row, column=col, padx=0, pady=0, sticky=Tk.NSEW)

        tkExtra.Balloon.set(b, _("Stop pendant"))
Example #20
0
    def __init__(self, master, app):
        CNCRibbon.ButtonGroup.__init__(self, master, "Probe:Center", app)
        self.label["background"] = Ribbon._BACKGROUND_GROUP2

        b = Ribbon.LabelButton(self.frame,
                               self,
                               "<<ProbeCenter>>",
                               image=Utils.icons["gear32"],
                               text=_("Center"),
                               compound=TOP,
                               width=48,
                               background=Ribbon._BACKGROUND)
        b.pack(fill=BOTH, expand=YES)
        self.addWidget(b)
        tkExtra.Balloon.set(b, _("Perform a center probe cycle"))
Example #21
0
    def __init__(self, master, app):

        CNCRibbon.ButtonGroup.__init__(self, master, N_("Close"), app)

        b = Ribbon.LabelButton(self.frame,
                               text=_("Exit"),
                               image=OCV.icons["exit32"],
                               compound=Tk.TOP,
                               command=OCV.APP.quit,
                               anchor=Tk.W,
                               background=OCV.COLOR_BACKGROUND)

        b.pack(fill=Tk.BOTH, expand=Tk.YES)

        tkExtra.Balloon.set(b, _("Close program [Ctrl-Q]"))
Example #22
0
    def __init__(self, master, app):
        CNCRibbon.ButtonGroup.__init__(
                self,
                master,
                N_("Options"),
                app)

        self.grid3rows()

        col, row = 1, 2

        b = Ribbon.LabelButton(
            self.frame,
            text=_("About"),
            image=OCV.icons["about"],
            compound=Tk.LEFT,
            command=OCV.TK_MAIN.about_box,
            anchor=Tk.W,
            background=OCV.COLOR_BG)

        b.grid(row=row, column=col, padx=0, pady=0, sticky=Tk.EW)

        tkExtra.Balloon.set(b, _("About the program"))
Example #23
0
	def __init__(self, master, app):
		CNCRibbon.ButtonGroup.__init__(self, master, N_("Database"), app)
		self.grid3rows()

		# ---
		col,row=0,0
		b = Ribbon.LabelRadiobutton(self.frame,
				image=Utils.icons["stock32"],
				text=_("Stock"),
				compound=TOP,
				anchor=W,
				variable=app.tools.active,
				value="Stock",
				background=Ribbon._BACKGROUND)
		b.grid(row=row, column=col, rowspan=3, padx=2, pady=0, sticky=NSEW)
		tkExtra.Balloon.set(b, _("Stock material currently on machine"))
		self.addWidget(b)

		# ===
		col,row=1,0
		b = Ribbon.LabelRadiobutton(self.frame,
				image=Utils.icons["material"],
				text=_("Material"),
				compound=LEFT,
				anchor=W,
				variable=app.tools.active,
				value="Material",
				background=Ribbon._BACKGROUND)
		b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
		tkExtra.Balloon.set(b, _("Editable database of material properties"))
		self.addWidget(b)

		# ---
		row += 1
		b = Ribbon.LabelRadiobutton(self.frame,
				image=Utils.icons["endmill"],
				text=_("End Mill"),
				compound=LEFT,
				anchor=W,
				variable=app.tools.active,
				value="EndMill",
				background=Ribbon._BACKGROUND)
		b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
		tkExtra.Balloon.set(b, _("Editable database of EndMills properties"))
		self.addWidget(b)

		# ---
		row += 1
		b = Ribbon.LabelButton(self.frame, app, "<<ToolRename>>",
				image=Utils.icons["rename"],
				text=_("Rename"),
				compound=LEFT,
				anchor=W,
				background=Ribbon._BACKGROUND)
		b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
		tkExtra.Balloon.set(b, _("Edit name of current operation/object"))
		self.addWidget(b)
		app.tools.addButton("rename",b)

		# ===
		col,row=2,0
		b = Ribbon.LabelButton(self.frame, app, "<<ToolAdd>>",
				image=Utils.icons["add"],
				text=_("Add"),
				compound=LEFT,
				anchor=W,
				background=Ribbon._BACKGROUND)
		b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
		tkExtra.Balloon.set(b, _("Add a new operation/object"))
		self.addWidget(b)
		app.tools.addButton("add",b)

		# ---
		row += 1
		b = Ribbon.LabelButton(self.frame, app, "<<ToolClone>>",
				image=Utils.icons["clone"],
				text=_("Clone"),
				compound=LEFT,
				anchor=W,
				background=Ribbon._BACKGROUND)
		b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
		tkExtra.Balloon.set(b, _("Clone selected operation/object"))
		self.addWidget(b)
		app.tools.addButton("clone",b)

		# ---
		row += 1
		b = Ribbon.LabelButton(self.frame, app, "<<ToolDelete>>",
				image=Utils.icons["x"],
				text=_("Delete"),
				compound=LEFT,
				anchor=W,
				background=Ribbon._BACKGROUND)
		b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
		tkExtra.Balloon.set(b, _("Delete selected operation/object"))
		self.addWidget(b)
		app.tools.addButton("delete",b)
Example #24
0
    def __init__(self, master, app):
        CNCRibbon.ButtonGroup.__init__(
            self,
            master,
            N_("File"),
            app)

        self.grid3rows()

        col, row = 0, 0

        b = Ribbon.LabelButton(
            self.frame, self, "<<New>>",
            image=OCV.icons["new32"],
            text=_("New"),
            compound=Tk.TOP,
            background=OCV.COLOR_BG)

        b.grid(row=row, column=col, rowspan=3, padx=0, pady=0, sticky=Tk.NSEW)

        tkExtra.Balloon.set(b, _("New gcode file"))

        self.addWidget(b)


        col, row = 1, 0

        b = Ribbon.LabelButton(
            self.frame,
            self,
            "<<Open>>",
            image=OCV.icons["open32"],
            background=OCV.COLOR_BG)

        b.grid(row=row, column=col, rowspan=2, padx=0, pady=0, sticky=Tk.NSEW)

        tkExtra.Balloon.set(b, _("Open existing gcode file [Ctrl-O]"))

        self.addWidget(b)

        col, row = 1, 2

        b = _RecentMenuButton(
            self.frame,
            None,
            text=_("Open"),
            image=OCV.icons["triangle_down"],
            compound=Tk.RIGHT,
            background=OCV.COLOR_BG)

        b.grid(row=row, column=col, padx=0, pady=0, sticky=Tk.NSEW)

        tkExtra.Balloon.set(b, _("Open recent file"))

        self.addWidget(b)

        col, row = 2, 0

        b = Ribbon.LabelButton(
            self.frame,
            self,
            "<<Import>>",
            image=OCV.icons["import32"],
            text=_("Import"),
            compound=Tk.TOP,
            background=OCV.COLOR_BG)

        b.grid(row=row, column=col, rowspan=3, padx=0, pady=0, sticky=Tk.NSEW)

        tkExtra.Balloon.set(b, _("Import gcode file"))

        self.addWidget(b)

        col, row = 3, 0

        b = Ribbon.LabelButton(
            self.frame,
            self,
            "<<Save>>",
            image=OCV.icons["save32"],
            command=OCV.TK_MAIN.save,
            background=OCV.COLOR_BG)

        b.grid(row=row, column=col, rowspan=2, padx=0, pady=0, sticky=Tk.NSEW)

        tkExtra.Balloon.set(b, _("Save gcode file [Ctrl-S]"))

        self.addWidget(b)

        col, row = 3, 2

        b = Ribbon.LabelButton(
                self.frame,
                self,
                "<<SaveAs>>",
                text=_("Save"),
                image=OCV.icons["triangle_down"],
                compound=Tk.RIGHT,
                background=OCV.COLOR_BG)

        b.grid(row=row, column=col, padx=0, pady=0, sticky=Tk.NSEW)

        tkExtra.Balloon.set(b, _("Save gcode as..."))

        self.addWidget(b)
Example #25
0
    def __init__(self, master, app):
        CNCRibbon.PageLabelFrame.__init__(
            self,
            master,
            "Serial",
            _("Serial"), app)

        self.autostart = Tk.BooleanVar()

        col, row = 0, 0

        b = Tk.Label(self, text=_("Port:"))

        b.grid(row=row, column=col, sticky=Tk.E)

        self.addWidget(b)

        self.portCombo = tkExtra.Combobox(
            self,
            False,
            background=tkExtra.GLOBAL_CONTROL_BACKGROUND,
            width=16,
            command=self.comportClean)

        self.portCombo.grid(row=row, column=col+1, sticky=Tk.EW)

        tkExtra.Balloon.set(
                self.portCombo,
                _("Select (or manual enter) port to connect"))

        self.portCombo.set(IniFile.get_str("Connection","port"))

        self.addWidget(self.portCombo)

        self.comportRefresh()

        row += 1

        b = Tk.Label(self, text=_("Baud:"))

        b.grid(row=row, column=col, sticky=Tk.E)

        self.baudCombo = tkExtra.Combobox(
            self,
            True,
            background=tkExtra.GLOBAL_CONTROL_BACKGROUND)

        self.baudCombo.grid(row=row, column=col+1, sticky=Tk.EW)

        tkExtra.Balloon.set(self.baudCombo, _("Select connection baud rate"))

        self.baudCombo.fill(BAUDS)

        self.baudCombo.set(IniFile.get_str("Connection","baud","115200"))

        self.addWidget(self.baudCombo)

        row += 1

        b = Tk.Label(self, text=_("Controller:"))

        b.grid(row=row, column=col, sticky=Tk.E)

        self.ctrlCombo = tkExtra.Combobox(
            self,
            True,
            background=tkExtra.GLOBAL_CONTROL_BACKGROUND,
            command=self.ctrlChange)

        self.ctrlCombo.grid(row=row, column=col+1, sticky=Tk.EW)

        tkExtra.Balloon.set(self.ctrlCombo, _("Select controller board"))

        self.ctrlCombo.fill(OCV.TK_MAIN.controllerList())

        self.ctrlCombo.set(OCV.TK_MAIN.controller)

        self.addWidget(self.ctrlCombo)

        row += 1

        b = Tk.Checkbutton(
                self,
                text=_("Connect on startup"),
                variable=self.autostart)

        b.grid(row=row, column=col, columnspan=2, sticky=Tk.W)

        tkExtra.Balloon.set(
            b,
            _("Connect to serial on startup of the program"))

        self.autostart.set(IniFile.get_bool("Connection","openserial"))

        self.addWidget(b)

        col += 2

        self.comrefBtn = Ribbon.LabelButton(
            self,
            image=OCV.icons["refresh"],
            text=_("Refresh"),
            compound=Tk.TOP,
            command=lambda s=self: s.comportRefresh(True),
            background=OCV.COLOR_BG)

        self.comrefBtn.grid(
            row=row,
            column=col,
            padx=0, pady=0,
            sticky=Tk.NSEW)

        tkExtra.Balloon.set(self.comrefBtn, _("Refresh list of serial ports"))

        #col += 2
        row = 0

        self.connectBtn = Ribbon.LabelButton(
            self,
            image=OCV.icons["serial48"],
            text=_("Open"),
            compound=Tk.TOP,
            command=lambda s=self: s.event_generate("<<Connect>>"),
            background=OCV.COLOR_BG)

        self.connectBtn.grid(
            row=row,
            column=col,
            rowspan=3,
            padx=0, pady=0,
            sticky=Tk.NSEW)

        tkExtra.Balloon.set(self.connectBtn, _("Open/Close serial port"))

        self.grid_columnconfigure(1, weight=1)
Example #26
0
    def __init__(self, master, app):
        CNCRibbon.PageLabelFrame.__init__(self, master, "Serial", app)

        self.autostart = BooleanVar()

        # ---
        col, row = 0, 0
        b = Label(self, text=_("Port:"))
        b.grid(row=row, column=col, sticky=E)
        self.addWidget(b)

        self.portCombo = tkExtra.Combobox(self,
                                          False,
                                          background="White",
                                          width=16)
        self.portCombo.grid(row=row, column=col + 1, sticky=EW)
        tkExtra.Balloon.set(self.portCombo,
                            _("Select (or manual enter) port to connect"))
        #		sys.stdout.write(comports())
        devices = sorted([x[0] for x in comports()])
        self.portCombo.fill(devices)
        self.portCombo.set(Utils.getStr("Connection", "port"))
        self.addWidget(self.portCombo)

        # ---
        row += 1
        b = Label(self, text=_("Baud:"))
        b.grid(row=row, column=col, sticky=E)

        self.baudCombo = tkExtra.Combobox(self, True, background="White")
        self.baudCombo.grid(row=row, column=col + 1, sticky=EW)
        tkExtra.Balloon.set(self.baudCombo, _("Select connection baud rate"))
        self.baudCombo.fill(BAUDS)
        self.baudCombo.set(Utils.getStr("Connection", "baud", "115200"))
        self.addWidget(self.baudCombo)

        # ---
        row += 1
        b = Label(self, text=_("Controller:"))
        b.grid(row=row, column=col, sticky=E)

        self.ctrlCombo = tkExtra.Combobox(self,
                                          True,
                                          background="White",
                                          command=self.ctrlChange)
        self.ctrlCombo.grid(row=row, column=col + 1, sticky=EW)
        tkExtra.Balloon.set(self.ctrlCombo, _("Select controller board"))
        self.ctrlCombo.fill(sorted(Utils.CONTROLLER.keys()))
        self.ctrlCombo.set(Utils.controllerName(app.controller))
        self.addWidget(self.ctrlCombo)

        # ---
        row += 1
        b = Checkbutton(self,
                        text=_("Connect on startup"),
                        variable=self.autostart)
        b.grid(row=row, column=col, columnspan=2, sticky=W)
        tkExtra.Balloon.set(b,
                            _("Connect to serial on startup of the program"))
        self.autostart.set(Utils.getBool("Connection", "openserial"))
        self.addWidget(b)

        # ---
        col += 2
        row = 0

        self.connectBtn = Ribbon.LabelButton(
            self,
            image=Utils.icons["serial32"],
            text=_("Open"),
            compound=TOP,
            command=lambda s=self: s.event_generate("<<Connect>>"),
            background=Ribbon._BACKGROUND)
        self.connectBtn.grid(row=row,
                             column=col,
                             rowspan=3,
                             padx=0,
                             pady=0,
                             sticky=NSEW)
        tkExtra.Balloon.set(self.connectBtn, _("Open/Close serial port"))
        self.grid_columnconfigure(1, weight=1)
Example #27
0
    def __init__(self, master, app):
        CNCRibbon.ButtonMenuGroup.__init__(
            self, master, N_("Connection"), app,
            [(_("Hard Reset"), "reset", OCV.MCTRL.hardReset)])

        # print("ConnectionGroup app", app)

        self.grid2rows()

        col, row = 0, 0

        but = Ribbon.LabelButton(self.frame,
                                 image=OCV.icons["home32"],
                                 text=_("Home"),
                                 compound=Tk.TOP,
                                 anchor=Tk.W,
                                 command=OCV.MCTRL.home(),
                                 background=OCV.COLOR_BACKGROUND)

        but.grid(row=row,
                 column=col,
                 rowspan=3,
                 padx=0,
                 pady=0,
                 sticky=Tk.NSEW)

        tkExtra.Balloon.set(but, _("Perform a homing cycle [$H]"))

        self.addWidget(but)

        col, row = 1, 0

        but = Ribbon.LabelButton(self.frame,
                                 image=OCV.icons["unlock"],
                                 text=_("Unlock"),
                                 compound=Tk.LEFT,
                                 anchor=Tk.W,
                                 command=OCV.MCTRL.unlock(True),
                                 background=OCV.COLOR_BACKGROUND)

        but.grid(row=row, column=col, padx=0, pady=0, sticky=Tk.NSEW)

        tkExtra.Balloon.set(but, _("Unlock controller [$X]"))

        self.addWidget(but)

        row += 1

        but = Ribbon.LabelButton(
            self.frame,
            image=OCV.icons["serial"],
            text=_("Connection"),
            compound=Tk.LEFT,
            anchor=Tk.W,
            command=lambda s=self: s.event_generate("<<Connect>>"),
            background=OCV.COLOR_BACKGROUND)

        but.grid(row=row, column=col, padx=0, pady=0, sticky=Tk.NSEW)

        tkExtra.Balloon.set(but, _("Open/Close connection"))
        self.addWidget(but)

        row += 1
        but = Ribbon.LabelButton(self.frame,
                                 image=OCV.icons["reset"],
                                 text=_("Reset"),
                                 compound=Tk.LEFT,
                                 anchor=Tk.W,
                                 command=OCV.MCTRL.softReset(True),
                                 background=OCV.COLOR_BACKGROUND)

        but.grid(row=row, column=col, padx=0, pady=0, sticky=Tk.NSEW)

        tkExtra.Balloon.set(but, _("Software reset of controller [ctrl-x]"))

        self.addWidget(but)
Example #28
0
    def __init__(self, master, app):
        CNCRibbon.ButtonGroup.__init__(self, master, N_("Select"), app)
        self.grid3rows()

        # ---
        col, row = 0, 0
        b = Ribbon.LabelButton(self.frame,
                               app,
                               "<<SelectAll>>",
                               image=Utils.icons["select_all"],
                               text=_("All"),
                               compound=LEFT,
                               anchor=W,
                               background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(b, _("Select all blocks [Ctrl-A]"))
        self.addWidget(b)

        # ---
        col += 1
        b = Ribbon.LabelButton(self.frame,
                               app,
                               "<<SelectNone>>",
                               image=Utils.icons["select_none"],
                               text=_("None"),
                               compound=LEFT,
                               anchor=W,
                               background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(b, _("Unselect all blocks [Ctrl-Shift-A]"))
        self.addWidget(b)

        # ---
        col, row = 0, 1
        b = Ribbon.LabelButton(self.frame,
                               app,
                               "<<SelectInvert>>",
                               image=Utils.icons["select_invert"],
                               text=_("Invert"),
                               compound=LEFT,
                               anchor=W,
                               background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(b, _("Invert selection [Ctrl-I]"))
        self.addWidget(b)

        # ---
        col += 1
        b = Ribbon.LabelButton(self.frame,
                               app,
                               "<<SelectLayer>>",
                               image=Utils.icons["select_layer"],
                               text=_("Layer"),
                               compound=LEFT,
                               anchor=W,
                               background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(b, _("Select all blocks from current layer"))
        self.addWidget(b)

        # ---
        col, row = 0, 2
        self.filterString = tkExtra.LabelEntry(self.frame,
                                               "Filter",
                                               "DarkGray",
                                               background="White",
                                               width=16)
        self.filterString.grid(row=row,
                               column=col,
                               columnspan=2,
                               padx=0,
                               pady=0,
                               sticky=NSEW)
        tkExtra.Balloon.set(self.filterString, _("Filter blocks"))
        self.addWidget(self.filterString)
        self.filterString.bind("<Return>", self.filter)
        self.filterString.bind("<KP_Enter>", self.filter)
Example #29
0
    def __init__(self, master, app):
        CNCRibbon.ButtonMenuGroup.__init__(
            self, master, N_("Edit"), app,
            [(_("Autolevel"), "level",
              lambda a=app: a.insertCommand("AUTOLEVEL", True)),
             (_("Color"), "color",
              lambda a=app: a.event_generate("<<ChangeColor>>")),
             (_("Import"), "load",
              lambda a=app: a.insertCommand("IMPORT", True)),
             (_("Inkscape"), "inkscape",
              lambda a=app: a.insertCommand("INKSCAPE all", True)),
             (_("Round"), "digits",
              lambda s=app: s.insertCommand("ROUND", True))])
        self.grid3rows()

        # ---
        col, row = 0, 0
        #		b = Ribbon.LabelButton(self.frame, app, "<<Add>>",
        #				image=Utils.icons["add"],
        #				text=_("Add"),
        #				compound=LEFT,
        #				anchor=W,
        #				background=Ribbon._BACKGROUND)
        #		b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
        #		tkExtra.Balloon.set(b, _("Insert a new block or line of code [Ins or Ctrl-Enter]"))
        #		self.addWidget(b)
        b = Ribbon.LabelButton(self.frame,
                               self.app,
                               "<<Add>>",
                               image=Utils.icons["add"],
                               anchor=W,
                               background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(
            b, _("Insert a new block or line of code [Ins or Ctrl-Enter]"))
        self.addWidget(b)

        menulist = [(_("Line"), "add",
                     lambda a=self.app: a.event_generate("<<AddLine>>")),
                    (_("Block"), "add",
                     lambda a=self.app: a.event_generate("<<AddBlock>>"))]
        b = Ribbon.MenuButton(self.frame,
                              menulist,
                              text=_("Add"),
                              image=Utils.icons["triangle_down"],
                              compound=RIGHT,
                              anchor=W,
                              background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col + 1, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(
            b, _("Insert a new block or line of code [Ins or Ctrl-Enter]"))

        # ---
        row += 1
        b = Ribbon.LabelButton(self.frame,
                               app,
                               "<<Clone>>",
                               image=Utils.icons["clone"],
                               text=_("Clone"),
                               compound=LEFT,
                               anchor=W,
                               background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, columnspan=2, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(b, _("Clone selected lines or blocks [Ctrl-D]"))
        self.addWidget(b)

        # ---
        row += 1
        b = Ribbon.LabelButton(self.frame,
                               app,
                               "<<Delete>>",
                               image=Utils.icons["x"],
                               text=_("Delete"),
                               compound=LEFT,
                               anchor=W,
                               background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, columnspan=2, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(b, _("Delete selected lines or blocks [Del]"))
        self.addWidget(b)

        # ---
        col, row = 2, 0
        b = Ribbon.LabelButton(
            self.frame,
            self.app,
            "<<EnableToggle>>",
            image=Utils.icons["toggle"],
            # text=_("Toggle"),
            # compound=LEFT,
            anchor=W,
            background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(
            b, _("Toggle enable/disable block of g-code [Ctrl-L]"))
        self.addWidget(b)

        menulist = [(_("Enable"), "enable",
                     lambda a=self.app: a.event_generate("<<Enable>>")),
                    (_("Disable"), "disable",
                     lambda a=self.app: a.event_generate("<<Disable>>"))]
        b = Ribbon.MenuButton(self.frame,
                              menulist,
                              text=_("Active"),
                              image=Utils.icons["triangle_down"],
                              compound=RIGHT,
                              anchor=W,
                              background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col + 1, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(b, _("Enable or disable blocks of gcode"))

        # ---
        row += 1
        b = Ribbon.LabelButton(self.frame,
                               self.app,
                               "<<Expand>>",
                               image=Utils.icons["expand"],
                               text=_("Expand"),
                               compound=LEFT,
                               anchor=W,
                               background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, columnspan=2, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(
            b, _("Toggle expand/collapse blocks of gcode [Ctrl-E]"))
        self.addWidget(b)

        # ---
        row += 1
        b = Ribbon.LabelButton(self.frame,
                               image=Utils.icons["comment"],
                               text=_("Comment"),
                               compound=LEFT,
                               anchor=W,
                               state=DISABLED,
                               background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, columnspan=2, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(b, _("(Un)Comment selected lines"))
        self.addWidget(b)
Example #30
0
    def __init__(self, master, app):
        CNCRibbon.ButtonGroup.__init__(self, master, N_("Transform"), app)
        self.grid3rows()

        # ---
        col, row = 0, 0
        b = Ribbon.LabelButton(
            self.frame,
            image=Utils.icons["rotate90"],
            text=_("CW"),
            compound=LEFT,
            anchor=W,
            command=lambda s=app: s.insertCommand("ROTATE CW", True),
            background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(b, _("Rotate selected gcode clock-wise (-90deg)"))
        self.addWidget(b)

        # ---
        row += 1
        b = Ribbon.LabelButton(
            self.frame,
            image=Utils.icons["rotate180"],
            text=_("Flip"),
            compound=LEFT,
            anchor=W,
            command=lambda s=app: s.insertCommand("ROTATE FLIP", True),
            background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(b, _("Rotate selected gcode by 180deg"))
        self.addWidget(b)

        # ---
        row += 1
        b = Ribbon.LabelButton(
            self.frame,
            image=Utils.icons["rotate270"],
            text=_("CCW"),
            compound=LEFT,
            anchor=W,
            command=lambda s=app: s.insertCommand("ROTATE CCW", True),
            background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(
            b, _("Rotate selected gcode counter-clock-wise (90deg)"))
        self.addWidget(b)

        # ---
        col, row = 1, 0
        b = Ribbon.LabelButton(
            self.frame,
            image=Utils.icons["flip-horizontal"],
            text=_("Horizontal"),
            compound=LEFT,
            anchor=W,
            command=lambda s=app: s.insertCommand("MIRROR horizontal", True),
            background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(b, _("Mirror horizontally X=-X selected gcode"))
        self.addWidget(b)

        # ---
        row += 1
        b = Ribbon.LabelButton(
            self.frame,
            image=Utils.icons["flip-vertical"],
            text=_("Vertical"),
            compound=LEFT,
            anchor=W,
            command=lambda s=app: s.insertCommand("MIRROR vertical", True),
            background=Ribbon._BACKGROUND)
        b.grid(row=row, column=col, padx=0, pady=0, sticky=NSEW)
        tkExtra.Balloon.set(b, _("Mirror vertically Y=-Y selected gcode"))
        self.addWidget(b)