- added a new feature: now in the context menu (and main menu -> Edit) there is a new command that allow to move a selection of objects at specified numeric coordinates (either absolute or relative to current position)

This commit is contained in:
Marius Stanciu
2022-03-11 13:51:29 +02:00
committed by Marius
parent 97aef3bdfe
commit 4398b3468f
6 changed files with 228 additions and 123 deletions

View File

@@ -2458,6 +2458,47 @@ class FCComboBox2(FCComboBox):
self.setCurrentIndex(0)
class DialogBoxChoice(QtWidgets.QDialog):
def __init__(self, title=None, icon=None, choice='bl'):
"""
:param title: string with the window title
"""
super(DialogBoxChoice, self).__init__()
self.ok = False
self.setWindowIcon(icon)
self.setWindowTitle(str(title))
grid0 = FCGridLayout(parent=self, h_spacing=5, v_spacing=5)
self.ref_radio = RadioSet([
{"label": _("Bottom Left"), "value": "bl"},
{"label": _("Top Left"), "value": "tl"},
{"label": _("Bottom Right"), "value": "br"},
{"label": _("Top Right"), "value": "tr"},
{"label": _("Center"), "value": "c"}
], orientation='vertical', compact=True)
self.ref_radio.set_value(choice)
grid0.addWidget(self.ref_radio, 0, 0)
self.button_box = QtWidgets.QDialogButtonBox(
QtWidgets.QDialogButtonBox.StandardButton.Ok | QtWidgets.QDialogButtonBox.StandardButton.Cancel,
Qt.Orientation.Horizontal, parent=self)
grid0.addWidget(self.button_box, 1, 0)
self.button_box.accepted.connect(self.accept)
self.button_box.rejected.connect(self.reject)
if self.exec() == QtWidgets.QDialog.DialogCode.Accepted:
self.ok = True
self.location_point = self.ref_radio.get_value()
else:
self.ok = False
self.location_point = None
class FCInputDialog(QtWidgets.QInputDialog):
def __init__(self, parent=None, ok=False, val=None, title=None, text=None, min=None, max=None, decimals=None,
init_val=None):

View File

@@ -429,6 +429,9 @@ class MainGUI(QtWidgets.QMainWindow):
# Separator
self.menuedit.addSeparator()
self.menuedit_numeric_move = self.menuedit.addAction(
QtGui.QIcon(self.app.resource_location + '/move32_bis.png'),
'%s\t%s' % (_('Num Move'), ''))
self.menueditorigin = self.menuedit.addAction(
QtGui.QIcon(self.app.resource_location + '/origin16.png'),
'%s\t%s' % (_('Set Origin'), _('O')))
@@ -1664,10 +1667,20 @@ class MainGUI(QtWidgets.QMainWindow):
# ########################################################################
self.popMenu = FCMenu()
self.popmenu_disable = self.popMenu.addAction(
# View
self.cmenu_viewmenu = self.popMenu.addMenu(
QtGui.QIcon(self.app.resource_location + '/view64.png'), _("View"))
self.popmenu_disable = self.cmenu_viewmenu.addAction(
QtGui.QIcon(self.app.resource_location + '/disable32.png'), _("Toggle Visibility"))
self.popmenu_panel_toggle = self.popMenu.addAction(
self.popmenu_panel_toggle = self.cmenu_viewmenu.addAction(
QtGui.QIcon(self.app.resource_location + '/notebook16.png'), _("Toggle Panel"))
self.cmenu_viewmenu.addSeparator()
self.zoomfit = self.cmenu_viewmenu.addAction(
QtGui.QIcon(self.app.resource_location + '/zoom_fit32.png'), _("Zoom Fit"))
self.clearplot = self.cmenu_viewmenu.addAction(
QtGui.QIcon(self.app.resource_location + '/clear_plot32.png'), _("Clear Plot"))
self.replot = self.cmenu_viewmenu.addAction(
QtGui.QIcon(self.app.resource_location + '/replot32.png'), _("Replot"))
self.popMenu.addSeparator()
self.cmenu_newmenu = self.popMenu.addMenu(
@@ -1687,16 +1700,6 @@ class MainGUI(QtWidgets.QMainWindow):
self.cmenu_gridmenu = self.popMenu.addMenu(
QtGui.QIcon(self.app.resource_location + '/grid32_menu.png'), _("Grids"))
# View
self.cmenu_viewmenu = self.popMenu.addMenu(
QtGui.QIcon(self.app.resource_location + '/view64.png'), _("View"))
self.zoomfit = self.cmenu_viewmenu.addAction(
QtGui.QIcon(self.app.resource_location + '/zoom_fit32.png'), _("Zoom Fit"))
self.clearplot = self.cmenu_viewmenu.addAction(
QtGui.QIcon(self.app.resource_location + '/clear_plot32.png'), _("Clear Plot"))
self.replot = self.cmenu_viewmenu.addAction(
QtGui.QIcon(self.app.resource_location + '/replot32.png'), _("Replot"))
self.popMenu.addSeparator()
# Set colors
@@ -1846,6 +1849,8 @@ class MainGUI(QtWidgets.QMainWindow):
self.popmenu_save.setVisible(False)
self.popMenu.addSeparator()
self.popmenu_numeric_move = self.popMenu.addAction(
QtGui.QIcon(self.app.resource_location + '/move32_bis.png'), _("Num Move"))
self.popmenu_move2origin = self.popMenu.addAction(
QtGui.QIcon(self.app.resource_location + '/origin2_32.png'), _("Move2Origin"))
self.popmenu_move = self.popMenu.addAction(