Merge remote-tracking branch 'remotes/jpcgt/flatcam/Beta' into Beta
This commit is contained in:
commit
c706fff03d
|
@ -1,45 +0,0 @@
|
||||||
|
|
||||||
from AppTools.ToolCalculators import ToolCalculator
|
|
||||||
from AppTools.ToolCalibration import ToolCalibration
|
|
||||||
|
|
||||||
from AppTools.ToolDblSided import DblSidedTool
|
|
||||||
from AppTools.ToolExtractDrills import ToolExtractDrills
|
|
||||||
from AppTools.ToolAlignObjects import AlignObjects
|
|
||||||
|
|
||||||
from AppTools.ToolFilm import Film
|
|
||||||
|
|
||||||
from AppTools.ToolImage import ToolImage
|
|
||||||
|
|
||||||
from AppTools.ToolDistance import Distance
|
|
||||||
from AppTools.ToolDistanceMin import DistanceMin
|
|
||||||
|
|
||||||
from AppTools.ToolMove import ToolMove
|
|
||||||
|
|
||||||
from AppTools.ToolCutOut import CutOut
|
|
||||||
from AppTools.ToolNCC import NonCopperClear
|
|
||||||
from AppTools.ToolPaint import ToolPaint
|
|
||||||
from AppTools.ToolIsolation import ToolIsolation
|
|
||||||
|
|
||||||
from AppTools.ToolOptimal import ToolOptimal
|
|
||||||
|
|
||||||
from AppTools.ToolPanelize import Panelize
|
|
||||||
from AppTools.ToolPcbWizard import PcbWizard
|
|
||||||
from AppTools.ToolPDF import ToolPDF
|
|
||||||
from AppTools.ToolProperties import Properties
|
|
||||||
|
|
||||||
from AppTools.ToolQRCode import QRCode
|
|
||||||
from AppTools.ToolRulesCheck import RulesCheck
|
|
||||||
|
|
||||||
from AppTools.ToolCopperThieving import ToolCopperThieving
|
|
||||||
from AppTools.ToolFiducials import ToolFiducials
|
|
||||||
|
|
||||||
from AppTools.ToolShell import FCShell
|
|
||||||
from AppTools.ToolSolderPaste import SolderPaste
|
|
||||||
from AppTools.ToolSub import ToolSub
|
|
||||||
|
|
||||||
from AppTools.ToolTransform import ToolTransform
|
|
||||||
from AppTools.ToolPunchGerber import ToolPunchGerber
|
|
||||||
|
|
||||||
from AppTools.ToolInvertGerber import ToolInvertGerber
|
|
||||||
from AppTools.ToolCorners import ToolCorners
|
|
||||||
from AppTools.ToolEtchCompensation import ToolEtchCompensation
|
|
|
@ -1,5 +1,5 @@
|
||||||
from PyQt5 import QtGui, QtCore, QtWidgets
|
from PyQt5 import QtGui, QtCore, QtWidgets
|
||||||
from AppGUI.GUIElements import FCTable, FCEntry, FCButton, FCFileSaveDialog
|
from appGUI.GUIElements import FCTable, FCEntry, FCButton, FCFileSaveDialog
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
import webbrowser
|
import webbrowser
|
||||||
|
@ -7,7 +7,7 @@ import webbrowser
|
||||||
from copy import deepcopy
|
from copy import deepcopy
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
||||||
|
|
22
CHANGELOG.md
22
CHANGELOG.md
|
@ -7,6 +7,28 @@ CHANGELOG for FlatCAM beta
|
||||||
|
|
||||||
=================================================
|
=================================================
|
||||||
|
|
||||||
|
4.06.2020
|
||||||
|
|
||||||
|
- improved the Isolation Tool - rest machining: test if the isolated polygon has interiors (holes) and if those can't be isolated too then mark the polygon as a rest geometry to be isolated with the next tool and so on
|
||||||
|
- updated the French translation strings - from @micmac (Michel Maciejewski)
|
||||||
|
|
||||||
|
3.06.2020
|
||||||
|
|
||||||
|
- updated Transform Tool to have a selection of possible references for the transformations that are now selectable in the GUI
|
||||||
|
- Transform Tool - compacted the UI
|
||||||
|
- minor issue in Paint Tool
|
||||||
|
- added a new feature for Gerber parsing: if the NO buffering is chosen in the Gerber Advanced Preferences there is now a checkbox to activate delayed buffering which will do the buffering in background allowing the user to work in between. I hope that this can be useful in case of large Gerber files.
|
||||||
|
- made the delayed Gerber buffering to use multiprocessing but I see not much performance increase
|
||||||
|
- made sure that the status bar label for preferences is updated also when the Preferences Tab is opened from the Edit -> Preferences
|
||||||
|
- remade file names in the app
|
||||||
|
- fixed the issue with factory_defaults being saved every time the app start
|
||||||
|
- fixed the preferences not being saved to a file when the Save button is pressed in Edit -> Preferences
|
||||||
|
- fixed and updated the Transform Tools in the Editors
|
||||||
|
- updated the language translation strings (and Google_Translated some of them)
|
||||||
|
- made sure that if the user closes the app with an editor open, before the exit the editor is closed and signals disconnected
|
||||||
|
- updated the Italian translation - contribution by Golfetto Massimiliano
|
||||||
|
- made the timing for the object creation to be displayed in the shell
|
||||||
|
|
||||||
2.06.2020
|
2.06.2020
|
||||||
|
|
||||||
- Tcl Shell - added a button to delete the content of the active line
|
- Tcl Shell - added a button to delete the content of the active line
|
||||||
|
|
|
@ -15,15 +15,15 @@ from PyQt5 import QtCore
|
||||||
from shapely.geometry import Polygon, Point, LineString
|
from shapely.geometry import Polygon, Point, LineString
|
||||||
from shapely.ops import unary_union
|
from shapely.ops import unary_union
|
||||||
|
|
||||||
from AppGUI.VisPyVisuals import ShapeCollection
|
from appGUI.VisPyVisuals import ShapeCollection
|
||||||
from AppTool import AppTool
|
from appTool import AppTool
|
||||||
|
|
||||||
from copy import deepcopy
|
from copy import deepcopy
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
||||||
|
@ -156,7 +156,7 @@ class ExclusionAreas(QtCore.QObject):
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
self.exclusion_shapes = None
|
self.exclusion_shapes = None
|
||||||
else:
|
else:
|
||||||
from AppGUI.PlotCanvasLegacy import ShapeCollectionLegacy
|
from appGUI.PlotCanvasLegacy import ShapeCollectionLegacy
|
||||||
self.exclusion_shapes = ShapeCollectionLegacy(obj=self, app=self.app, name="exclusion")
|
self.exclusion_shapes = ShapeCollectionLegacy(obj=self, app=self.app, name="exclusion")
|
||||||
|
|
||||||
# Event signals disconnect id holders
|
# Event signals disconnect id holders
|
||||||
|
|
|
@ -3,8 +3,8 @@ import os
|
||||||
|
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings, Qt
|
from PyQt5.QtCore import QSettings, Qt
|
||||||
from App_Main import App
|
from app_Main import App
|
||||||
from AppGUI import VisPyPatches
|
from appGUI import VisPyPatches
|
||||||
|
|
||||||
from multiprocessing import freeze_support
|
from multiprocessing import freeze_support
|
||||||
# import copyreg
|
# import copyreg
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
from PyQt5 import QtGui, QtCore, QtWidgets
|
from PyQt5 import QtGui, QtCore, QtWidgets
|
||||||
from AppGUI.GUIElements import FCTable, FCEntry, FCButton, FCDoubleSpinner, FCComboBox, FCCheckBox, FCSpinner, \
|
from appGUI.GUIElements import FCTable, FCEntry, FCButton, FCDoubleSpinner, FCComboBox, FCCheckBox, FCSpinner, \
|
||||||
FCTree, RadioSet, FCFileSaveDialog
|
FCTree, RadioSet, FCFileSaveDialog
|
||||||
from camlib import to_dict
|
from camlib import to_dict
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ from datetime import datetime
|
||||||
import math
|
import math
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
||||||
|
@ -2074,7 +2074,7 @@ class ToolsDB2(QtWidgets.QWidget):
|
||||||
if self.db_tool_dict:
|
if self.db_tool_dict:
|
||||||
self.storage_to_form(self.db_tool_dict['1'])
|
self.storage_to_form(self.db_tool_dict['1'])
|
||||||
|
|
||||||
# Enable AppGUI
|
# Enable appGUI
|
||||||
self.basic_box.setEnabled(True)
|
self.basic_box.setEnabled(True)
|
||||||
self.advanced_box.setEnabled(True)
|
self.advanced_box.setEnabled(True)
|
||||||
self.ncc_box.setEnabled(True)
|
self.ncc_box.setEnabled(True)
|
||||||
|
@ -2085,7 +2085,7 @@ class ToolsDB2(QtWidgets.QWidget):
|
||||||
# self.tree_widget.setFocus()
|
# self.tree_widget.setFocus()
|
||||||
|
|
||||||
else:
|
else:
|
||||||
# Disable AppGUI
|
# Disable appGUI
|
||||||
self.basic_box.setEnabled(False)
|
self.basic_box.setEnabled(False)
|
||||||
self.advanced_box.setEnabled(False)
|
self.advanced_box.setEnabled(False)
|
||||||
self.ncc_box.setEnabled(False)
|
self.ncc_box.setEnabled(False)
|
|
@ -9,9 +9,9 @@ from PyQt5 import QtGui, QtCore, QtWidgets
|
||||||
from PyQt5.QtCore import Qt, QSettings
|
from PyQt5.QtCore import Qt, QSettings
|
||||||
|
|
||||||
from camlib import distance, arc, FlatCAMRTreeStorage
|
from camlib import distance, arc, FlatCAMRTreeStorage
|
||||||
from AppGUI.GUIElements import FCEntry, FCComboBox, FCTable, FCDoubleSpinner, RadioSet, FCSpinner
|
from appGUI.GUIElements import FCEntry, FCComboBox, FCTable, FCDoubleSpinner, RadioSet, FCSpinner
|
||||||
from AppEditors.FlatCAMGeoEditor import FCShapeTool, DrawTool, DrawToolShape, DrawToolUtilityShape, FlatCAMGeoEditor
|
from appEditors.FlatCAMGeoEditor import FCShapeTool, DrawTool, DrawToolShape, DrawToolUtilityShape, FlatCAMGeoEditor
|
||||||
from AppParsers.ParseExcellon import Excellon
|
from appParsers.ParseExcellon import Excellon
|
||||||
|
|
||||||
from shapely.geometry import LineString, LinearRing, MultiLineString, Polygon, MultiPolygon, Point
|
from shapely.geometry import LineString, LinearRing, MultiLineString, Polygon, MultiPolygon, Point
|
||||||
import shapely.affinity as affinity
|
import shapely.affinity as affinity
|
||||||
|
@ -26,7 +26,7 @@ import logging
|
||||||
from copy import deepcopy
|
from copy import deepcopy
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
||||||
|
@ -2123,7 +2123,7 @@ class FlatCAMExcEditor(QtCore.QObject):
|
||||||
else:
|
else:
|
||||||
self.tool_shape = self.app.plotcanvas.new_shape_collection(layers=1)
|
self.tool_shape = self.app.plotcanvas.new_shape_collection(layers=1)
|
||||||
else:
|
else:
|
||||||
from AppGUI.PlotCanvasLegacy import ShapeCollectionLegacy
|
from appGUI.PlotCanvasLegacy import ShapeCollectionLegacy
|
||||||
self.shapes = ShapeCollectionLegacy(obj=self, app=self.app, name='shapes_exc_editor')
|
self.shapes = ShapeCollectionLegacy(obj=self, app=self.app, name='shapes_exc_editor')
|
||||||
self.tool_shape = ShapeCollectionLegacy(obj=self, app=self.app, name='tool_shapes_exc_editor')
|
self.tool_shape = ShapeCollectionLegacy(obj=self, app=self.app, name='tool_shapes_exc_editor')
|
||||||
|
|
||||||
|
@ -2312,7 +2312,7 @@ class FlatCAMExcEditor(QtCore.QObject):
|
||||||
tool_dia = float('%.*f' % (self.decimals, v['C']))
|
tool_dia = float('%.*f' % (self.decimals, v['C']))
|
||||||
self.tool2tooldia[int(k)] = tool_dia
|
self.tool2tooldia[int(k)] = tool_dia
|
||||||
|
|
||||||
# Init AppGUI
|
# Init appGUI
|
||||||
self.addtool_entry.set_value(float(self.app.defaults['excellon_editor_newdia']))
|
self.addtool_entry.set_value(float(self.app.defaults['excellon_editor_newdia']))
|
||||||
self.drill_array_size_entry.set_value(int(self.app.defaults['excellon_editor_array_size']))
|
self.drill_array_size_entry.set_value(int(self.app.defaults['excellon_editor_array_size']))
|
||||||
self.drill_axis_radio.set_value(self.app.defaults['excellon_editor_lin_dir'])
|
self.drill_axis_radio.set_value(self.app.defaults['excellon_editor_lin_dir'])
|
||||||
|
@ -3043,7 +3043,7 @@ class FlatCAMExcEditor(QtCore.QObject):
|
||||||
|
|
||||||
self.set_ui()
|
self.set_ui()
|
||||||
|
|
||||||
# now that we hava data, create the AppGUI interface and add it to the Tool Tab
|
# now that we hava data, create the appGUI interface and add it to the Tool Tab
|
||||||
self.build_ui(first_run=True)
|
self.build_ui(first_run=True)
|
||||||
|
|
||||||
# we activate this after the initial build as we don't need to see the tool been populated
|
# we activate this after the initial build as we don't need to see the tool been populated
|
||||||
|
@ -4026,7 +4026,7 @@ class FlatCAMExcEditor(QtCore.QObject):
|
||||||
|
|
||||||
def select_tool(self, toolname):
|
def select_tool(self, toolname):
|
||||||
"""
|
"""
|
||||||
Selects a drawing tool. Impacts the object and AppGUI.
|
Selects a drawing tool. Impacts the object and appGUI.
|
||||||
|
|
||||||
:param toolname: Name of the tool.
|
:param toolname: Name of the tool.
|
||||||
:return: None
|
:return: None
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -5,7 +5,7 @@
|
||||||
# MIT Licence #
|
# MIT Licence #
|
||||||
# ##########################################################
|
# ##########################################################
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCFileSaveDialog, FCEntry, FCTextAreaExtended, FCTextAreaLineNumber
|
from appGUI.GUIElements import FCFileSaveDialog, FCEntry, FCTextAreaExtended, FCTextAreaLineNumber
|
||||||
from PyQt5 import QtPrintSupport, QtWidgets, QtCore, QtGui
|
from PyQt5 import QtPrintSupport, QtWidgets, QtCore, QtGui
|
||||||
|
|
||||||
from reportlab.platypus import SimpleDocTemplate, Paragraph
|
from reportlab.platypus import SimpleDocTemplate, Paragraph
|
||||||
|
@ -15,7 +15,7 @@ from reportlab.lib.units import inch, mm
|
||||||
# from io import StringIO
|
# from io import StringIO
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -23,7 +23,7 @@ import html
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
log = logging.getLogger('base')
|
log = logging.getLogger('base')
|
||||||
|
@ -673,7 +673,7 @@ class NumericalEvalEntry(EvalEntry):
|
||||||
|
|
||||||
class NumericalEvalTupleEntry(FCEntry):
|
class NumericalEvalTupleEntry(FCEntry):
|
||||||
"""
|
"""
|
||||||
Will evaluate the input and return a value. Accepts only float numbers and formulas using the operators: /,*,+,-,%
|
Will return a text value. Accepts only float numbers and formulas using the operators: /,*,+,-,%
|
||||||
"""
|
"""
|
||||||
def __init__(self, border_color=None):
|
def __init__(self, border_color=None):
|
||||||
super().__init__(border_color=border_color)
|
super().__init__(border_color=border_color)
|
||||||
|
@ -2712,14 +2712,14 @@ class DialogBoxRadio(QtWidgets.QDialog):
|
||||||
"If the reference is Relative then the Jump will be at the (x,y) distance\n"
|
"If the reference is Relative then the Jump will be at the (x,y) distance\n"
|
||||||
"from the current mouse location point.")
|
"from the current mouse location point.")
|
||||||
)
|
)
|
||||||
self.lineEdit = EvalEntry(self)
|
self.lineEdit = EvalEntry(parent=self)
|
||||||
self.lineEdit.setText(str(self.location).replace('(', '').replace(')', ''))
|
self.lineEdit.setText(str(self.location).replace('(', '').replace(')', ''))
|
||||||
self.lineEdit.selectAll()
|
self.lineEdit.selectAll()
|
||||||
self.lineEdit.setFocus()
|
self.lineEdit.setFocus()
|
||||||
self.form.addRow(self.loc_label, self.lineEdit)
|
self.form.addRow(self.loc_label, self.lineEdit)
|
||||||
|
|
||||||
self.button_box = QtWidgets.QDialogButtonBox(QtWidgets.QDialogButtonBox.Ok | QtWidgets.QDialogButtonBox.Cancel,
|
self.button_box = QtWidgets.QDialogButtonBox(QtWidgets.QDialogButtonBox.Ok | QtWidgets.QDialogButtonBox.Cancel,
|
||||||
Qt.Horizontal, parent=self)
|
orientation=Qt.Horizontal, parent=self)
|
||||||
self.form.addRow(self.button_box)
|
self.form.addRow(self.button_box)
|
||||||
|
|
||||||
self.button_box.accepted.connect(self.accept)
|
self.button_box.accepted.connect(self.accept)
|
|
@ -12,28 +12,28 @@
|
||||||
# ##########################################################
|
# ##########################################################
|
||||||
import platform
|
import platform
|
||||||
|
|
||||||
from AppGUI.GUIElements import *
|
from appGUI.GUIElements import *
|
||||||
from AppGUI.preferences import settings
|
from appGUI.preferences import settings
|
||||||
from AppGUI.preferences.cncjob.CNCJobPreferencesUI import CNCJobPreferencesUI
|
from appGUI.preferences.cncjob.CNCJobPreferencesUI import CNCJobPreferencesUI
|
||||||
from AppGUI.preferences.excellon.ExcellonPreferencesUI import ExcellonPreferencesUI
|
from appGUI.preferences.excellon.ExcellonPreferencesUI import ExcellonPreferencesUI
|
||||||
from AppGUI.preferences.general.GeneralPreferencesUI import GeneralPreferencesUI
|
from appGUI.preferences.general.GeneralPreferencesUI import GeneralPreferencesUI
|
||||||
from AppGUI.preferences.geometry.GeometryPreferencesUI import GeometryPreferencesUI
|
from appGUI.preferences.geometry.GeometryPreferencesUI import GeometryPreferencesUI
|
||||||
from AppGUI.preferences.gerber.GerberPreferencesUI import GerberPreferencesUI
|
from appGUI.preferences.gerber.GerberPreferencesUI import GerberPreferencesUI
|
||||||
from AppEditors.FlatCAMGeoEditor import FCShapeTool
|
from appEditors.FlatCAMGeoEditor import FCShapeTool
|
||||||
from matplotlib.backend_bases import KeyEvent as mpl_key_event
|
from matplotlib.backend_bases import KeyEvent as mpl_key_event
|
||||||
|
|
||||||
import webbrowser
|
import webbrowser
|
||||||
|
|
||||||
from AppGUI.preferences.tools.Tools2PreferencesUI import Tools2PreferencesUI
|
from appGUI.preferences.tools.Tools2PreferencesUI import Tools2PreferencesUI
|
||||||
from AppGUI.preferences.tools.ToolsPreferencesUI import ToolsPreferencesUI
|
from appGUI.preferences.tools.ToolsPreferencesUI import ToolsPreferencesUI
|
||||||
from AppGUI.preferences.utilities.UtilPreferencesUI import UtilPreferencesUI
|
from appGUI.preferences.utilities.UtilPreferencesUI import UtilPreferencesUI
|
||||||
from AppObjects.ObjectCollection import KeySensitiveListView
|
from appObjects.ObjectCollection import KeySensitiveListView
|
||||||
|
|
||||||
import subprocess
|
import subprocess
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
||||||
|
@ -1733,7 +1733,7 @@ class MainGUI(QtWidgets.QMainWindow):
|
||||||
self.app.defaults["global_def_win_h"])
|
self.app.defaults["global_def_win_h"])
|
||||||
self.splitter.setSizes([self.app.defaults["global_def_notebook_width"], 0])
|
self.splitter.setSizes([self.app.defaults["global_def_notebook_width"], 0])
|
||||||
except KeyError as e:
|
except KeyError as e:
|
||||||
log.debug("AppGUI.MainGUI.restore_main_win_geom() --> %s" % str(e))
|
log.debug("appGUI.MainGUI.restore_main_win_geom() --> %s" % str(e))
|
||||||
|
|
||||||
def restore_toolbar_view(self):
|
def restore_toolbar_view(self):
|
||||||
"""
|
"""
|
||||||
|
@ -2475,7 +2475,7 @@ class MainGUI(QtWidgets.QMainWindow):
|
||||||
# Delete from canvas
|
# Delete from canvas
|
||||||
if key == 'Delete':
|
if key == 'Delete':
|
||||||
# Delete via the application to
|
# Delete via the application to
|
||||||
# ensure cleanup of the AppGUI
|
# ensure cleanup of the appGUI
|
||||||
if active:
|
if active:
|
||||||
active.app.on_delete()
|
active.app.on_delete()
|
||||||
|
|
|
@ -11,11 +11,11 @@
|
||||||
# Date: 3/10/2019 #
|
# Date: 3/10/2019 #
|
||||||
# ##########################################################
|
# ##########################################################
|
||||||
|
|
||||||
from AppGUI.GUIElements import *
|
from appGUI.GUIElements import *
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -8,12 +8,12 @@
|
||||||
from PyQt5 import QtCore
|
from PyQt5 import QtCore
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
from AppGUI.VisPyCanvas import VisPyCanvas, Color
|
from appGUI.VisPyCanvas import VisPyCanvas, Color
|
||||||
from AppGUI.VisPyVisuals import ShapeGroup, ShapeCollection, TextCollection, TextGroup, Cursor
|
from appGUI.VisPyVisuals import ShapeGroup, ShapeCollection, TextCollection, TextGroup, Cursor
|
||||||
from vispy.scene.visuals import InfiniteLine, Line, Rectangle, Text
|
from vispy.scene.visuals import InfiniteLine, Line, Rectangle, Text
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
import numpy as np
|
import numpy as np
|
|
@ -22,7 +22,7 @@ import logging
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
# Prevent conflict with Qt5 and above.
|
# Prevent conflict with Qt5 and above.
|
|
@ -13,7 +13,7 @@ from vispy.color import Color
|
||||||
from shapely.geometry import Polygon, LineString, LinearRing
|
from shapely.geometry import Polygon, LineString, LinearRing
|
||||||
import threading
|
import threading
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from AppGUI.VisPyTesselators import GLUTess
|
from appGUI.VisPyTesselators import GLUTess
|
||||||
|
|
||||||
|
|
||||||
class FlatCAMLineVisual(LineVisual):
|
class FlatCAMLineVisual(LineVisual):
|
|
@ -3,11 +3,11 @@ from typing import Union, Sequence, List
|
||||||
from PyQt5 import QtWidgets, QtGui
|
from PyQt5 import QtWidgets, QtGui
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import RadioSet, FCCheckBox, FCButton, FCComboBox, FCEntry, FCSpinner, FCColorEntry, \
|
from appGUI.GUIElements import RadioSet, FCCheckBox, FCButton, FCComboBox, FCEntry, FCSpinner, FCColorEntry, \
|
||||||
FCSliderWithSpinner, FCDoubleSpinner, FloatEntry, FCTextArea
|
FCSliderWithSpinner, FCDoubleSpinner, FloatEntry, FCTextArea
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -11,10 +11,10 @@ from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
from AppGUI.preferences.OptionUI import OptionUI
|
from appGUI.preferences.OptionUI import OptionUI
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
||||||
if '_' not in builtins.__dict__:
|
if '_' not in builtins.__dict__:
|
|
@ -1,9 +1,9 @@
|
||||||
from typing import Dict
|
from typing import Dict
|
||||||
from PyQt5 import QtWidgets, QtCore
|
from PyQt5 import QtWidgets, QtCore
|
||||||
|
|
||||||
from AppGUI.ColumnarFlowLayout import ColumnarFlowLayout
|
from appGUI.ColumnarFlowLayout import ColumnarFlowLayout
|
||||||
from AppGUI.preferences.OptionUI import OptionUI
|
from appGUI.preferences.OptionUI import OptionUI
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
|
|
||||||
class PreferencesSectionUI(QtWidgets.QWidget):
|
class PreferencesSectionUI(QtWidgets.QWidget):
|
|
@ -5,7 +5,7 @@ from defaults import FlatCAMDefaults
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
||||||
|
@ -18,7 +18,7 @@ if settings.contains("machinist"):
|
||||||
else:
|
else:
|
||||||
machinist_setting = 0
|
machinist_setting = 0
|
||||||
|
|
||||||
log = logging.getLogger('PreferencesUIManager')
|
log = logging.getLogger('base2')
|
||||||
|
|
||||||
|
|
||||||
class PreferencesUIManager:
|
class PreferencesUIManager:
|
||||||
|
@ -138,6 +138,7 @@ class PreferencesUIManager:
|
||||||
# "gerber_aperture_buffer_factor": self.ui.gerber_defaults_form.gerber_adv_opt_group.buffer_aperture_entry,
|
# "gerber_aperture_buffer_factor": self.ui.gerber_defaults_form.gerber_adv_opt_group.buffer_aperture_entry,
|
||||||
"gerber_follow": self.ui.gerber_defaults_form.gerber_adv_opt_group.follow_cb,
|
"gerber_follow": self.ui.gerber_defaults_form.gerber_adv_opt_group.follow_cb,
|
||||||
"gerber_buffering": self.ui.gerber_defaults_form.gerber_adv_opt_group.buffering_radio,
|
"gerber_buffering": self.ui.gerber_defaults_form.gerber_adv_opt_group.buffering_radio,
|
||||||
|
"gerber_delayed_buffering": self.ui.gerber_defaults_form.gerber_adv_opt_group.delayed_buffer_cb,
|
||||||
"gerber_simplification": self.ui.gerber_defaults_form.gerber_adv_opt_group.simplify_cb,
|
"gerber_simplification": self.ui.gerber_defaults_form.gerber_adv_opt_group.simplify_cb,
|
||||||
"gerber_simp_tolerance": self.ui.gerber_defaults_form.gerber_adv_opt_group.simplification_tol_spinner,
|
"gerber_simp_tolerance": self.ui.gerber_defaults_form.gerber_adv_opt_group.simplification_tol_spinner,
|
||||||
|
|
||||||
|
@ -445,17 +446,23 @@ class PreferencesUIManager:
|
||||||
"tools_calc_electro_growth": self.ui.tools_defaults_form.tools_calculators_group.growth_entry,
|
"tools_calc_electro_growth": self.ui.tools_defaults_form.tools_calculators_group.growth_entry,
|
||||||
|
|
||||||
# Transformations Tool
|
# Transformations Tool
|
||||||
|
"tools_transform_reference": self.ui.tools_defaults_form.tools_transform_group.ref_combo,
|
||||||
|
"tools_transform_ref_object": self.ui.tools_defaults_form.tools_transform_group.type_obj_combo,
|
||||||
|
"tools_transform_ref_point": self.ui.tools_defaults_form.tools_transform_group.point_entry,
|
||||||
|
|
||||||
"tools_transform_rotate": self.ui.tools_defaults_form.tools_transform_group.rotate_entry,
|
"tools_transform_rotate": self.ui.tools_defaults_form.tools_transform_group.rotate_entry,
|
||||||
|
|
||||||
"tools_transform_skew_x": self.ui.tools_defaults_form.tools_transform_group.skewx_entry,
|
"tools_transform_skew_x": self.ui.tools_defaults_form.tools_transform_group.skewx_entry,
|
||||||
"tools_transform_skew_y": self.ui.tools_defaults_form.tools_transform_group.skewy_entry,
|
"tools_transform_skew_y": self.ui.tools_defaults_form.tools_transform_group.skewy_entry,
|
||||||
|
"tools_transform_skew_link": self.ui.tools_defaults_form.tools_transform_group.skew_link_cb,
|
||||||
|
|
||||||
"tools_transform_scale_x": self.ui.tools_defaults_form.tools_transform_group.scalex_entry,
|
"tools_transform_scale_x": self.ui.tools_defaults_form.tools_transform_group.scalex_entry,
|
||||||
"tools_transform_scale_y": self.ui.tools_defaults_form.tools_transform_group.scaley_entry,
|
"tools_transform_scale_y": self.ui.tools_defaults_form.tools_transform_group.scaley_entry,
|
||||||
"tools_transform_scale_link": self.ui.tools_defaults_form.tools_transform_group.link_cb,
|
"tools_transform_scale_link": self.ui.tools_defaults_form.tools_transform_group.scale_link_cb,
|
||||||
"tools_transform_scale_reference": self.ui.tools_defaults_form.tools_transform_group.reference_cb,
|
|
||||||
"tools_transform_offset_x": self.ui.tools_defaults_form.tools_transform_group.offx_entry,
|
"tools_transform_offset_x": self.ui.tools_defaults_form.tools_transform_group.offx_entry,
|
||||||
"tools_transform_offset_y": self.ui.tools_defaults_form.tools_transform_group.offy_entry,
|
"tools_transform_offset_y": self.ui.tools_defaults_form.tools_transform_group.offy_entry,
|
||||||
"tools_transform_mirror_reference": self.ui.tools_defaults_form.tools_transform_group.mirror_reference_cb,
|
|
||||||
"tools_transform_mirror_point": self.ui.tools_defaults_form.tools_transform_group.flip_ref_entry,
|
|
||||||
"tools_transform_buffer_dis": self.ui.tools_defaults_form.tools_transform_group.buffer_entry,
|
"tools_transform_buffer_dis": self.ui.tools_defaults_form.tools_transform_group.buffer_entry,
|
||||||
"tools_transform_buffer_factor": self.ui.tools_defaults_form.tools_transform_group.buffer_factor_entry,
|
"tools_transform_buffer_factor": self.ui.tools_defaults_form.tools_transform_group.buffer_factor_entry,
|
||||||
"tools_transform_buffer_corner": self.ui.tools_defaults_form.tools_transform_group.buffer_rounded_cb,
|
"tools_transform_buffer_corner": self.ui.tools_defaults_form.tools_transform_group.buffer_rounded_cb,
|
||||||
|
@ -622,9 +629,9 @@ class PreferencesUIManager:
|
||||||
Will set the values for all the GUI elements in Preferences GUI based on the values found in the
|
Will set the values for all the GUI elements in Preferences GUI based on the values found in the
|
||||||
self.defaults dictionary.
|
self.defaults dictionary.
|
||||||
|
|
||||||
:param factor: will apply a factor to the values that written in the GUI elements
|
:param factor: will apply a factor to the values that written in the GUI elements
|
||||||
:param fl_units: current measuring units in FlatCAM: Metric or Inch
|
:param fl_units: current measuring units in FlatCAM: Metric or Inch
|
||||||
:param source_dict: the repository of options, usually is the self.defaults
|
:param source_dict: the repository of options, usually is the self.defaults
|
||||||
:return: None
|
:return: None
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
@ -640,18 +647,18 @@ class PreferencesUIManager:
|
||||||
"""
|
"""
|
||||||
Basically it is the worker in the self.defaults_write_form()
|
Basically it is the worker in the self.defaults_write_form()
|
||||||
|
|
||||||
:param field: the GUI element in Preferences GUI to be updated
|
:param field: the GUI element in Preferences GUI to be updated
|
||||||
:param factor: factor to be applied to the field parameter
|
:param factor: factor to be applied to the field parameter
|
||||||
:param units: current FlatCAM measuring units
|
:param units: current FlatCAM measuring units
|
||||||
:param defaults_dict: the defaults storage
|
:param defaults_dict: the defaults storage
|
||||||
:return: None, it updates GUI elements
|
:return: None, it updates GUI elements
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def_dict = self.defaults if defaults_dict is None else defaults_dict
|
def_dict = self.defaults if defaults_dict is None else defaults_dict
|
||||||
|
|
||||||
try:
|
try:
|
||||||
value = def_dict[field]
|
value = def_dict[field]
|
||||||
log.debug("value is " + str(value) + " and factor is "+str(factor))
|
# log.debug("value is " + str(value) + " and factor is "+str(factor))
|
||||||
if factor is not None:
|
if factor is not None:
|
||||||
value *= factor
|
value *= factor
|
||||||
|
|
||||||
|
@ -668,7 +675,7 @@ class PreferencesUIManager:
|
||||||
|
|
||||||
def show_preferences_gui(self):
|
def show_preferences_gui(self):
|
||||||
"""
|
"""
|
||||||
Called to initialize and show the Preferences AppGUI
|
Called to initialize and show the Preferences appGUI
|
||||||
|
|
||||||
:return: None
|
:return: None
|
||||||
"""
|
"""
|
||||||
|
@ -899,13 +906,13 @@ class PreferencesUIManager:
|
||||||
self.ui.general_defaults_form.general_app_group.ge_radio.set_value(ge)
|
self.ui.general_defaults_form.general_app_group.ge_radio.set_value(ge)
|
||||||
|
|
||||||
if save_to_file or should_restart is True:
|
if save_to_file or should_restart is True:
|
||||||
|
# Re-fresh project options
|
||||||
|
self.ui.app.on_options_app2project()
|
||||||
|
|
||||||
self.save_defaults(silent=False)
|
self.save_defaults(silent=False)
|
||||||
# load the defaults so they are updated into the app
|
# load the defaults so they are updated into the app
|
||||||
self.defaults.load(filename=os.path.join(self.data_path, 'current_defaults.FlatConfig'))
|
self.defaults.load(filename=os.path.join(self.data_path, 'current_defaults.FlatConfig'))
|
||||||
|
|
||||||
# Re-fresh project options
|
|
||||||
self.ui.app.on_options_app2project()
|
|
||||||
|
|
||||||
settgs = QSettings("Open Source", "FlatCAM")
|
settgs = QSettings("Open Source", "FlatCAM")
|
||||||
|
|
||||||
# save the notebook font size
|
# save the notebook font size
|
||||||
|
@ -995,7 +1002,6 @@ class PreferencesUIManager:
|
||||||
:param first_time: Boolean. If True will execute some code when the app is run first time
|
:param first_time: Boolean. If True will execute some code when the app is run first time
|
||||||
:return: None
|
:return: None
|
||||||
"""
|
"""
|
||||||
self.defaults.report_usage("save_defaults")
|
|
||||||
log.debug("App.PreferencesUIManager.save_defaults()")
|
log.debug("App.PreferencesUIManager.save_defaults()")
|
||||||
|
|
||||||
if data_path is None:
|
if data_path is None:
|
|
@ -1,6 +1,6 @@
|
||||||
from AppGUI.GUIElements import *
|
from appGUI.GUIElements import *
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
from PyQt5 import QtWidgets, QtGui
|
from PyQt5 import QtWidgets, QtGui
|
||||||
from PyQt5.QtCore import QSettings, Qt
|
from PyQt5.QtCore import QSettings, Qt
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCTextArea, FCCheckBox, FCComboBox, FCSpinner, FCColorEntry
|
from appGUI.GUIElements import FCTextArea, FCCheckBox, FCComboBox, FCSpinner, FCColorEntry
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,10 +1,10 @@
|
||||||
from PyQt5 import QtWidgets, QtCore, QtGui
|
from PyQt5 import QtWidgets, QtCore, QtGui
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCCheckBox, RadioSet, FCSpinner, FCDoubleSpinner, FCSliderWithSpinner, FCColorEntry
|
from appGUI.GUIElements import FCCheckBox, RadioSet, FCSpinner, FCDoubleSpinner, FCSliderWithSpinner, FCColorEntry
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets, QtGui
|
from PyQt5 import QtWidgets, QtGui
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCTextArea
|
from appGUI.GUIElements import FCTextArea
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,8 +1,8 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
|
|
||||||
from AppGUI.preferences.cncjob.CNCJobAdvOptPrefGroupUI import CNCJobAdvOptPrefGroupUI
|
from appGUI.preferences.cncjob.CNCJobAdvOptPrefGroupUI import CNCJobAdvOptPrefGroupUI
|
||||||
from AppGUI.preferences.cncjob.CNCJobOptPrefGroupUI import CNCJobOptPrefGroupUI
|
from appGUI.preferences.cncjob.CNCJobOptPrefGroupUI import CNCJobOptPrefGroupUI
|
||||||
from AppGUI.preferences.cncjob.CNCJobGenPrefGroupUI import CNCJobGenPrefGroupUI
|
from appGUI.preferences.cncjob.CNCJobGenPrefGroupUI import CNCJobGenPrefGroupUI
|
||||||
|
|
||||||
|
|
||||||
class CNCJobPreferencesUI(QtWidgets.QWidget):
|
class CNCJobPreferencesUI(QtWidgets.QWidget):
|
|
@ -1,10 +1,10 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCDoubleSpinner, RadioSet, FCCheckBox, NumericalEvalTupleEntry, NumericalEvalEntry
|
from appGUI.GUIElements import FCDoubleSpinner, RadioSet, FCCheckBox, NumericalEvalTupleEntry, NumericalEvalEntry
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCSpinner, FCDoubleSpinner, RadioSet
|
from appGUI.GUIElements import FCSpinner, FCDoubleSpinner, RadioSet
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,10 +1,10 @@
|
||||||
from PyQt5 import QtWidgets, QtCore
|
from PyQt5 import QtWidgets, QtCore
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import RadioSet, FCSpinner
|
from appGUI.GUIElements import RadioSet, FCSpinner
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -3,10 +3,10 @@ import platform
|
||||||
from PyQt5 import QtWidgets, QtCore, QtGui
|
from PyQt5 import QtWidgets, QtCore, QtGui
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCCheckBox, FCSpinner, RadioSet, FCEntry, FCSliderWithSpinner, FCColorEntry
|
from appGUI.GUIElements import FCCheckBox, FCSpinner, RadioSet, FCEntry, FCSliderWithSpinner, FCColorEntry
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,12 +1,12 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import Qt, QSettings
|
from PyQt5.QtCore import Qt, QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import RadioSet, FCDoubleSpinner, FCCheckBox, FCEntry, FCSpinner, OptionalInputSection, \
|
from appGUI.GUIElements import RadioSet, FCDoubleSpinner, FCCheckBox, FCEntry, FCSpinner, OptionalInputSection, \
|
||||||
FCComboBox, NumericalEvalTupleEntry
|
FCComboBox, NumericalEvalTupleEntry
|
||||||
from AppGUI.preferences import machinist_setting
|
from appGUI.preferences import machinist_setting
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,14 +1,14 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.preferences.excellon.ExcellonEditorPrefGroupUI import ExcellonEditorPrefGroupUI
|
from appGUI.preferences.excellon.ExcellonEditorPrefGroupUI import ExcellonEditorPrefGroupUI
|
||||||
from AppGUI.preferences.excellon.ExcellonExpPrefGroupUI import ExcellonExpPrefGroupUI
|
from appGUI.preferences.excellon.ExcellonExpPrefGroupUI import ExcellonExpPrefGroupUI
|
||||||
from AppGUI.preferences.excellon.ExcellonAdvOptPrefGroupUI import ExcellonAdvOptPrefGroupUI
|
from appGUI.preferences.excellon.ExcellonAdvOptPrefGroupUI import ExcellonAdvOptPrefGroupUI
|
||||||
from AppGUI.preferences.excellon.ExcellonOptPrefGroupUI import ExcellonOptPrefGroupUI
|
from appGUI.preferences.excellon.ExcellonOptPrefGroupUI import ExcellonOptPrefGroupUI
|
||||||
from AppGUI.preferences.excellon.ExcellonGenPrefGroupUI import ExcellonGenPrefGroupUI
|
from appGUI.preferences.excellon.ExcellonGenPrefGroupUI import ExcellonGenPrefGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,13 +1,13 @@
|
||||||
from PyQt5 import QtCore, QtWidgets
|
from PyQt5 import QtCore, QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCDoubleSpinner, FCCheckBox, FCComboBox, RadioSet, OptionalInputSection, FCSpinner, \
|
from appGUI.GUIElements import FCDoubleSpinner, FCCheckBox, FCComboBox, RadioSet, OptionalInputSection, FCSpinner, \
|
||||||
FCColorEntry
|
FCColorEntry
|
||||||
from AppGUI.preferences import settings
|
from appGUI.preferences import settings
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
||||||
|
@ -193,7 +193,7 @@ class GeneralAPPSetGroupUI(OptionsGroupUI):
|
||||||
self.notebook_font_size_label = QtWidgets.QLabel('%s:' % _('Notebook'))
|
self.notebook_font_size_label = QtWidgets.QLabel('%s:' % _('Notebook'))
|
||||||
self.notebook_font_size_label.setToolTip(
|
self.notebook_font_size_label.setToolTip(
|
||||||
_("This sets the font size for the elements found in the Notebook.\n"
|
_("This sets the font size for the elements found in the Notebook.\n"
|
||||||
"The notebook is the collapsible area in the left side of the AppGUI,\n"
|
"The notebook is the collapsible area in the left side of the GUI,\n"
|
||||||
"and include the Project, Selected and Tool tabs.")
|
"and include the Project, Selected and Tool tabs.")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -232,7 +232,7 @@ class GeneralAPPSetGroupUI(OptionsGroupUI):
|
||||||
# TextBox Font Size
|
# TextBox Font Size
|
||||||
self.textbox_font_size_label = QtWidgets.QLabel('%s:' % _('Textbox'))
|
self.textbox_font_size_label = QtWidgets.QLabel('%s:' % _('Textbox'))
|
||||||
self.textbox_font_size_label.setToolTip(
|
self.textbox_font_size_label.setToolTip(
|
||||||
_("This sets the font size for the Textbox AppGUI\n"
|
_("This sets the font size for the Textbox GUI\n"
|
||||||
"elements that are used in the application.")
|
"elements that are used in the application.")
|
||||||
)
|
)
|
||||||
|
|
|
@ -3,12 +3,12 @@ import sys
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import RadioSet, FCSpinner, FCCheckBox, FCComboBox, FCButton, OptionalInputSection, \
|
from appGUI.GUIElements import RadioSet, FCSpinner, FCCheckBox, FCComboBox, FCButton, OptionalInputSection, \
|
||||||
FCDoubleSpinner
|
FCDoubleSpinner
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,13 +1,13 @@
|
||||||
|
|
||||||
from PyQt5 import QtCore
|
from PyQt5 import QtCore
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
from AppGUI.GUIElements import OptionalInputSection
|
from appGUI.GUIElements import OptionalInputSection
|
||||||
from AppGUI.preferences import settings
|
from appGUI.preferences import settings
|
||||||
from AppGUI.preferences.OptionUI import *
|
from appGUI.preferences.OptionUI import *
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI2
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI2
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
||||||
if '_' not in builtins.__dict__:
|
if '_' not in builtins.__dict__:
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets, QtCore, QtGui
|
from PyQt5 import QtWidgets, QtCore, QtGui
|
||||||
from PyQt5.QtCore import QSettings, Qt
|
from PyQt5.QtCore import QSettings, Qt
|
||||||
|
|
||||||
from AppGUI.GUIElements import RadioSet, FCCheckBox, FCComboBox, FCSliderWithSpinner, FCColorEntry
|
from appGUI.GUIElements import RadioSet, FCCheckBox, FCComboBox, FCSliderWithSpinner, FCColorEntry
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,12 +1,12 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.preferences.general.GeneralAppPrefGroupUI import GeneralAppPrefGroupUI
|
from appGUI.preferences.general.GeneralAppPrefGroupUI import GeneralAppPrefGroupUI
|
||||||
from AppGUI.preferences.general.GeneralAPPSetGroupUI import GeneralAPPSetGroupUI
|
from appGUI.preferences.general.GeneralAPPSetGroupUI import GeneralAPPSetGroupUI
|
||||||
from AppGUI.preferences.general.GeneralGUIPrefGroupUI import GeneralGUIPrefGroupUI
|
from appGUI.preferences.general.GeneralGUIPrefGroupUI import GeneralGUIPrefGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,12 +1,12 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCDoubleSpinner, FCCheckBox, RadioSet, FCLabel, NumericalEvalTupleEntry, \
|
from appGUI.GUIElements import FCDoubleSpinner, FCCheckBox, RadioSet, FCLabel, NumericalEvalTupleEntry, \
|
||||||
NumericalEvalEntry
|
NumericalEvalEntry
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCSpinner, RadioSet
|
from appGUI.GUIElements import FCSpinner, RadioSet
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCCheckBox, FCSpinner, FCEntry, FCColorEntry
|
from appGUI.GUIElements import FCCheckBox, FCSpinner, FCEntry, FCColorEntry
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,13 +1,13 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import Qt, QSettings
|
from PyQt5.QtCore import Qt, QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCDoubleSpinner, FCCheckBox, OptionalInputSection, FCSpinner, FCComboBox, \
|
from appGUI.GUIElements import FCDoubleSpinner, FCCheckBox, OptionalInputSection, FCSpinner, FCComboBox, \
|
||||||
NumericalEvalTupleEntry
|
NumericalEvalTupleEntry
|
||||||
from AppGUI.preferences import machinist_setting
|
from appGUI.preferences import machinist_setting
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,13 +1,13 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.preferences.geometry.GeometryEditorPrefGroupUI import GeometryEditorPrefGroupUI
|
from appGUI.preferences.geometry.GeometryEditorPrefGroupUI import GeometryEditorPrefGroupUI
|
||||||
from AppGUI.preferences.geometry.GeometryAdvOptPrefGroupUI import GeometryAdvOptPrefGroupUI
|
from appGUI.preferences.geometry.GeometryAdvOptPrefGroupUI import GeometryAdvOptPrefGroupUI
|
||||||
from AppGUI.preferences.geometry.GeometryOptPrefGroupUI import GeometryOptPrefGroupUI
|
from appGUI.preferences.geometry.GeometryOptPrefGroupUI import GeometryOptPrefGroupUI
|
||||||
from AppGUI.preferences.geometry.GeometryGenPrefGroupUI import GeometryGenPrefGroupUI
|
from appGUI.preferences.geometry.GeometryGenPrefGroupUI import GeometryGenPrefGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCCheckBox, RadioSet, FCDoubleSpinner, FCSpinner, OptionalInputSection
|
from appGUI.GUIElements import FCCheckBox, RadioSet, FCDoubleSpinner, FCSpinner, OptionalInputSection
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
||||||
|
@ -76,6 +76,13 @@ class GerberAdvOptPrefGroupUI(OptionsGroupUI):
|
||||||
grid0.addWidget(buffering_label, 9, 0)
|
grid0.addWidget(buffering_label, 9, 0)
|
||||||
grid0.addWidget(self.buffering_radio, 9, 1)
|
grid0.addWidget(self.buffering_radio, 9, 1)
|
||||||
|
|
||||||
|
# Delayed Buffering
|
||||||
|
self.delayed_buffer_cb = FCCheckBox(label=_('Delayed Buffering'))
|
||||||
|
self.delayed_buffer_cb.setToolTip(
|
||||||
|
_("When checked it will do the buffering in background.")
|
||||||
|
)
|
||||||
|
grid0.addWidget(self.delayed_buffer_cb, 10, 0, 1, 2)
|
||||||
|
|
||||||
# Simplification
|
# Simplification
|
||||||
self.simplify_cb = FCCheckBox(label=_('Simplify'))
|
self.simplify_cb = FCCheckBox(label=_('Simplify'))
|
||||||
self.simplify_cb.setToolTip(
|
self.simplify_cb.setToolTip(
|
||||||
|
@ -83,7 +90,7 @@ class GerberAdvOptPrefGroupUI(OptionsGroupUI):
|
||||||
"loaded with simplification having a set tolerance.\n"
|
"loaded with simplification having a set tolerance.\n"
|
||||||
"<<WARNING>>: Don't change this unless you know what you are doing !!!")
|
"<<WARNING>>: Don't change this unless you know what you are doing !!!")
|
||||||
)
|
)
|
||||||
grid0.addWidget(self.simplify_cb, 10, 0, 1, 2)
|
grid0.addWidget(self.simplify_cb, 11, 0, 1, 2)
|
||||||
|
|
||||||
# Simplification tolerance
|
# Simplification tolerance
|
||||||
self.simplification_tol_label = QtWidgets.QLabel(_('Tolerance'))
|
self.simplification_tol_label = QtWidgets.QLabel(_('Tolerance'))
|
||||||
|
@ -95,8 +102,8 @@ class GerberAdvOptPrefGroupUI(OptionsGroupUI):
|
||||||
self.simplification_tol_spinner.setRange(0.00000, 0.01000)
|
self.simplification_tol_spinner.setRange(0.00000, 0.01000)
|
||||||
self.simplification_tol_spinner.setSingleStep(0.0001)
|
self.simplification_tol_spinner.setSingleStep(0.0001)
|
||||||
|
|
||||||
grid0.addWidget(self.simplification_tol_label, 11, 0)
|
grid0.addWidget(self.simplification_tol_label, 12, 0)
|
||||||
grid0.addWidget(self.simplification_tol_spinner, 11, 1)
|
grid0.addWidget(self.simplification_tol_spinner, 12, 1)
|
||||||
self.ois_simplif = OptionalInputSection(
|
self.ois_simplif = OptionalInputSection(
|
||||||
self.simplify_cb,
|
self.simplify_cb,
|
||||||
[
|
[
|
||||||
|
@ -105,3 +112,12 @@ class GerberAdvOptPrefGroupUI(OptionsGroupUI):
|
||||||
logic=True)
|
logic=True)
|
||||||
|
|
||||||
self.layout.addStretch()
|
self.layout.addStretch()
|
||||||
|
|
||||||
|
# signals
|
||||||
|
self.buffering_radio.activated_custom.connect(self.on_buffering_change)
|
||||||
|
|
||||||
|
def on_buffering_change(self, val):
|
||||||
|
if val == 'no':
|
||||||
|
self.delayed_buffer_cb.setDisabled(False)
|
||||||
|
else:
|
||||||
|
self.delayed_buffer_cb.setDisabled(True)
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCSpinner, FCDoubleSpinner, FCComboBox, FCEntry, RadioSet, NumericalEvalTupleEntry
|
from appGUI.GUIElements import FCSpinner, FCDoubleSpinner, FCComboBox, FCEntry, RadioSet, NumericalEvalTupleEntry
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets, QtCore
|
from PyQt5 import QtWidgets, QtCore
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import RadioSet, FCSpinner
|
from appGUI.GUIElements import RadioSet, FCSpinner
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets, QtCore, QtGui
|
from PyQt5 import QtWidgets, QtCore, QtGui
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCCheckBox, FCSpinner, RadioSet, FCEntry, FCSliderWithSpinner, FCColorEntry
|
from appGUI.GUIElements import FCCheckBox, FCSpinner, RadioSet, FCEntry, FCSliderWithSpinner, FCColorEntry
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCDoubleSpinner, FCSpinner, RadioSet, FCCheckBox, FCComboBox
|
from appGUI.GUIElements import FCDoubleSpinner, FCSpinner, RadioSet, FCCheckBox, FCComboBox
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,14 +1,14 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.preferences.gerber.GerberEditorPrefGroupUI import GerberEditorPrefGroupUI
|
from appGUI.preferences.gerber.GerberEditorPrefGroupUI import GerberEditorPrefGroupUI
|
||||||
from AppGUI.preferences.gerber.GerberExpPrefGroupUI import GerberExpPrefGroupUI
|
from appGUI.preferences.gerber.GerberExpPrefGroupUI import GerberExpPrefGroupUI
|
||||||
from AppGUI.preferences.gerber.GerberAdvOptPrefGroupUI import GerberAdvOptPrefGroupUI
|
from appGUI.preferences.gerber.GerberAdvOptPrefGroupUI import GerberAdvOptPrefGroupUI
|
||||||
from AppGUI.preferences.gerber.GerberOptPrefGroupUI import GerberOptPrefGroupUI
|
from appGUI.preferences.gerber.GerberOptPrefGroupUI import GerberOptPrefGroupUI
|
||||||
from AppGUI.preferences.gerber.GerberGenPrefGroupUI import GerberGenPrefGroupUI
|
from appGUI.preferences.gerber.GerberGenPrefGroupUI import GerberGenPrefGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCSpinner, FCDoubleSpinner, RadioSet
|
from appGUI.GUIElements import FCSpinner, FCDoubleSpinner, RadioSet
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import RadioSet, FCDoubleSpinner, FCCheckBox, NumericalEvalTupleEntry
|
from appGUI.GUIElements import RadioSet, FCDoubleSpinner, FCCheckBox, NumericalEvalTupleEntry
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCCheckBox, RadioSet, FCDoubleSpinner
|
from appGUI.GUIElements import FCCheckBox, RadioSet, FCDoubleSpinner
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCDoubleSpinner, RadioSet
|
from appGUI.GUIElements import FCDoubleSpinner, RadioSet
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCDoubleSpinner, RadioSet
|
from appGUI.GUIElements import FCDoubleSpinner, RadioSet
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCSpinner
|
from appGUI.GUIElements import FCSpinner
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,18 +1,18 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.preferences.tools.Tools2InvertPrefGroupUI import Tools2InvertPrefGroupUI
|
from appGUI.preferences.tools.Tools2InvertPrefGroupUI import Tools2InvertPrefGroupUI
|
||||||
from AppGUI.preferences.tools.Tools2PunchGerberPrefGroupUI import Tools2PunchGerberPrefGroupUI
|
from appGUI.preferences.tools.Tools2PunchGerberPrefGroupUI import Tools2PunchGerberPrefGroupUI
|
||||||
from AppGUI.preferences.tools.Tools2EDrillsPrefGroupUI import Tools2EDrillsPrefGroupUI
|
from appGUI.preferences.tools.Tools2EDrillsPrefGroupUI import Tools2EDrillsPrefGroupUI
|
||||||
from AppGUI.preferences.tools.Tools2CalPrefGroupUI import Tools2CalPrefGroupUI
|
from appGUI.preferences.tools.Tools2CalPrefGroupUI import Tools2CalPrefGroupUI
|
||||||
from AppGUI.preferences.tools.Tools2FiducialsPrefGroupUI import Tools2FiducialsPrefGroupUI
|
from appGUI.preferences.tools.Tools2FiducialsPrefGroupUI import Tools2FiducialsPrefGroupUI
|
||||||
from AppGUI.preferences.tools.Tools2CThievingPrefGroupUI import Tools2CThievingPrefGroupUI
|
from appGUI.preferences.tools.Tools2CThievingPrefGroupUI import Tools2CThievingPrefGroupUI
|
||||||
from AppGUI.preferences.tools.Tools2QRCodePrefGroupUI import Tools2QRCodePrefGroupUI
|
from appGUI.preferences.tools.Tools2QRCodePrefGroupUI import Tools2QRCodePrefGroupUI
|
||||||
from AppGUI.preferences.tools.Tools2OptimalPrefGroupUI import Tools2OptimalPrefGroupUI
|
from appGUI.preferences.tools.Tools2OptimalPrefGroupUI import Tools2OptimalPrefGroupUI
|
||||||
from AppGUI.preferences.tools.Tools2RulesCheckPrefGroupUI import Tools2RulesCheckPrefGroupUI
|
from appGUI.preferences.tools.Tools2RulesCheckPrefGroupUI import Tools2RulesCheckPrefGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCCheckBox, RadioSet, FCDoubleSpinner
|
from appGUI.GUIElements import FCCheckBox, RadioSet, FCDoubleSpinner
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets, QtCore, QtGui
|
from PyQt5 import QtWidgets, QtCore, QtGui
|
||||||
from PyQt5.QtCore import Qt, QSettings
|
from PyQt5.QtCore import Qt, QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCSpinner, RadioSet, FCTextArea, FCEntry, FCColorEntry
|
from appGUI.GUIElements import FCSpinner, RadioSet, FCTextArea, FCEntry, FCColorEntry
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCCheckBox, FCDoubleSpinner
|
from appGUI.GUIElements import FCCheckBox, FCDoubleSpinner
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCDoubleSpinner, RadioSet
|
from appGUI.GUIElements import FCDoubleSpinner, RadioSet
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCDoubleSpinner
|
from appGUI.GUIElements import FCDoubleSpinner
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCDoubleSpinner
|
from appGUI.GUIElements import FCDoubleSpinner
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,12 +1,12 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCDoubleSpinner, FCCheckBox, RadioSet, FCComboBox
|
from appGUI.GUIElements import FCDoubleSpinner, FCCheckBox, RadioSet, FCComboBox
|
||||||
from AppGUI.preferences import machinist_setting
|
from appGUI.preferences import machinist_setting
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets, QtCore, QtGui
|
from PyQt5 import QtWidgets, QtCore, QtGui
|
||||||
from PyQt5.QtCore import Qt, QSettings
|
from PyQt5.QtCore import Qt, QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import RadioSet, FCEntry, FCDoubleSpinner, FCCheckBox, FCComboBox, FCColorEntry
|
from appGUI.GUIElements import RadioSet, FCEntry, FCDoubleSpinner, FCCheckBox, FCComboBox, FCColorEntry
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import RadioSet, FCDoubleSpinner, FCComboBox, FCCheckBox, FCSpinner, NumericalEvalTupleEntry
|
from appGUI.GUIElements import RadioSet, FCDoubleSpinner, FCComboBox, FCCheckBox, FCSpinner, NumericalEvalTupleEntry
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import RadioSet, FCDoubleSpinner, FCComboBox, FCCheckBox, NumericalEvalTupleEntry
|
from appGUI.GUIElements import RadioSet, FCDoubleSpinner, FCComboBox, FCCheckBox, NumericalEvalTupleEntry
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import RadioSet, FCDoubleSpinner, FCComboBox, FCCheckBox, NumericalEvalTupleEntry
|
from appGUI.GUIElements import RadioSet, FCDoubleSpinner, FCComboBox, FCCheckBox, NumericalEvalTupleEntry
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCDoubleSpinner, FCSpinner, RadioSet, FCCheckBox
|
from appGUI.GUIElements import FCDoubleSpinner, FCSpinner, RadioSet, FCCheckBox
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,22 +1,22 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.preferences.tools.ToolsSubPrefGroupUI import ToolsSubPrefGroupUI
|
from appGUI.preferences.tools.ToolsSubPrefGroupUI import ToolsSubPrefGroupUI
|
||||||
from AppGUI.preferences.tools.ToolsSolderpastePrefGroupUI import ToolsSolderpastePrefGroupUI
|
from appGUI.preferences.tools.ToolsSolderpastePrefGroupUI import ToolsSolderpastePrefGroupUI
|
||||||
from AppGUI.preferences.tools.ToolsCornersPrefGroupUI import ToolsCornersPrefGroupUI
|
from appGUI.preferences.tools.ToolsCornersPrefGroupUI import ToolsCornersPrefGroupUI
|
||||||
from AppGUI.preferences.tools.ToolsTransformPrefGroupUI import ToolsTransformPrefGroupUI
|
from appGUI.preferences.tools.ToolsTransformPrefGroupUI import ToolsTransformPrefGroupUI
|
||||||
from AppGUI.preferences.tools.ToolsCalculatorsPrefGroupUI import ToolsCalculatorsPrefGroupUI
|
from appGUI.preferences.tools.ToolsCalculatorsPrefGroupUI import ToolsCalculatorsPrefGroupUI
|
||||||
from AppGUI.preferences.tools.ToolsPanelizePrefGroupUI import ToolsPanelizePrefGroupUI
|
from appGUI.preferences.tools.ToolsPanelizePrefGroupUI import ToolsPanelizePrefGroupUI
|
||||||
from AppGUI.preferences.tools.ToolsFilmPrefGroupUI import ToolsFilmPrefGroupUI
|
from appGUI.preferences.tools.ToolsFilmPrefGroupUI import ToolsFilmPrefGroupUI
|
||||||
from AppGUI.preferences.tools.Tools2sidedPrefGroupUI import Tools2sidedPrefGroupUI
|
from appGUI.preferences.tools.Tools2sidedPrefGroupUI import Tools2sidedPrefGroupUI
|
||||||
|
|
||||||
from AppGUI.preferences.tools.ToolsCutoutPrefGroupUI import ToolsCutoutPrefGroupUI
|
from appGUI.preferences.tools.ToolsCutoutPrefGroupUI import ToolsCutoutPrefGroupUI
|
||||||
from AppGUI.preferences.tools.ToolsNCCPrefGroupUI import ToolsNCCPrefGroupUI
|
from appGUI.preferences.tools.ToolsNCCPrefGroupUI import ToolsNCCPrefGroupUI
|
||||||
from AppGUI.preferences.tools.ToolsPaintPrefGroupUI import ToolsPaintPrefGroupUI
|
from appGUI.preferences.tools.ToolsPaintPrefGroupUI import ToolsPaintPrefGroupUI
|
||||||
from AppGUI.preferences.tools.ToolsISOPrefGroupUI import ToolsISOPrefGroupUI
|
from appGUI.preferences.tools.ToolsISOPrefGroupUI import ToolsISOPrefGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCDoubleSpinner, FCSpinner, FCComboBox, NumericalEvalTupleEntry
|
from appGUI.GUIElements import FCDoubleSpinner, FCSpinner, FCComboBox, NumericalEvalTupleEntry
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCCheckBox
|
from appGUI.GUIElements import FCCheckBox
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets, QtGui
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCDoubleSpinner, FCCheckBox, NumericalEvalTupleEntry
|
from appGUI.GUIElements import FCDoubleSpinner, FCCheckBox, NumericalEvalTupleEntry, FCComboBox
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
||||||
|
@ -40,10 +40,53 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||||
grid0.setColumnStretch(0, 0)
|
grid0.setColumnStretch(0, 0)
|
||||||
grid0.setColumnStretch(1, 1)
|
grid0.setColumnStretch(1, 1)
|
||||||
|
|
||||||
# ## Rotate Angle
|
# Reference Type
|
||||||
|
ref_label = QtWidgets.QLabel('%s:' % _("Reference"))
|
||||||
|
ref_label.setToolTip(
|
||||||
|
_("The reference point for Rotate, Skew, Scale, Mirror.\n"
|
||||||
|
"Can be:\n"
|
||||||
|
"- Origin -> it is the 0, 0 point\n"
|
||||||
|
"- Selection -> the center of the bounding box of the selected objects\n"
|
||||||
|
"- Point -> a custom point defined by X,Y coordinates\n"
|
||||||
|
"- Object -> the center of the bounding box of a specific object")
|
||||||
|
)
|
||||||
|
self.ref_combo = FCComboBox()
|
||||||
|
self.ref_items = [_("Origin"), _("Selection"), _("Point"), _("Object")]
|
||||||
|
self.ref_combo.addItems(self.ref_items)
|
||||||
|
|
||||||
|
grid0.addWidget(ref_label, 0, 0)
|
||||||
|
grid0.addWidget(self.ref_combo, 0, 1)
|
||||||
|
|
||||||
|
self.point_label = QtWidgets.QLabel('%s:' % _("Point"))
|
||||||
|
self.point_label.setToolTip(
|
||||||
|
_("A point of reference in format X,Y.")
|
||||||
|
)
|
||||||
|
self.point_entry = NumericalEvalTupleEntry()
|
||||||
|
|
||||||
|
grid0.addWidget(self.point_label, 1, 0)
|
||||||
|
grid0.addWidget(self.point_entry, 1, 1)
|
||||||
|
|
||||||
|
# Type of object to be used as reference
|
||||||
|
self.type_object_label = QtWidgets.QLabel('%s:' % _("Object"))
|
||||||
|
self.type_object_label.setToolTip(
|
||||||
|
_("The type of object used as reference.")
|
||||||
|
)
|
||||||
|
|
||||||
|
self.type_obj_combo = FCComboBox()
|
||||||
|
self.type_obj_combo.addItem(_("Gerber"))
|
||||||
|
self.type_obj_combo.addItem(_("Excellon"))
|
||||||
|
self.type_obj_combo.addItem(_("Geometry"))
|
||||||
|
|
||||||
|
self.type_obj_combo.setItemIcon(0, QtGui.QIcon(self.app.resource_location + "/flatcam_icon16.png"))
|
||||||
|
self.type_obj_combo.setItemIcon(1, QtGui.QIcon(self.app.resource_location + "/drill16.png"))
|
||||||
|
self.type_obj_combo.setItemIcon(2, QtGui.QIcon(self.app.resource_location + "/geometry16.png"))
|
||||||
|
|
||||||
|
grid0.addWidget(self.type_object_label, 3, 0)
|
||||||
|
grid0.addWidget(self.type_obj_combo, 3, 1)
|
||||||
|
|
||||||
|
# ## Rotate Angle
|
||||||
rotate_title_lbl = QtWidgets.QLabel('<b>%s</b>' % _("Rotate"))
|
rotate_title_lbl = QtWidgets.QLabel('<b>%s</b>' % _("Rotate"))
|
||||||
grid0.addWidget(rotate_title_lbl, 0, 0, 1, 2)
|
grid0.addWidget(rotate_title_lbl, 4, 0, 1, 2)
|
||||||
|
|
||||||
self.rotate_entry = FCDoubleSpinner()
|
self.rotate_entry = FCDoubleSpinner()
|
||||||
self.rotate_entry.set_range(-360.0, 360.0)
|
self.rotate_entry.set_range(-360.0, 360.0)
|
||||||
|
@ -57,12 +100,21 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||||
"Positive numbers for CW motion.\n"
|
"Positive numbers for CW motion.\n"
|
||||||
"Negative numbers for CCW motion.")
|
"Negative numbers for CCW motion.")
|
||||||
)
|
)
|
||||||
grid0.addWidget(self.rotate_label, 1, 0)
|
grid0.addWidget(self.rotate_label, 6, 0)
|
||||||
grid0.addWidget(self.rotate_entry, 1, 1)
|
grid0.addWidget(self.rotate_entry, 6, 1)
|
||||||
|
|
||||||
# ## Skew/Shear Angle on X axis
|
# ## Skew/Shear Angle on X axis
|
||||||
skew_title_lbl = QtWidgets.QLabel('<b>%s</b>' % _("Skew"))
|
skew_title_lbl = QtWidgets.QLabel('<b>%s</b>' % _("Skew"))
|
||||||
grid0.addWidget(skew_title_lbl, 2, 0, 1, 2)
|
grid0.addWidget(skew_title_lbl, 8, 0)
|
||||||
|
|
||||||
|
# ## Link Skew factors
|
||||||
|
self.skew_link_cb = FCCheckBox()
|
||||||
|
self.skew_link_cb.setText(_("Link"))
|
||||||
|
self.skew_link_cb.setToolTip(
|
||||||
|
_("Link the Y entry to X entry and copy its content.")
|
||||||
|
)
|
||||||
|
|
||||||
|
grid0.addWidget(self.skew_link_cb, 8, 1)
|
||||||
|
|
||||||
self.skewx_entry = FCDoubleSpinner()
|
self.skewx_entry = FCDoubleSpinner()
|
||||||
self.skewx_entry.set_range(-360.0, 360.0)
|
self.skewx_entry.set_range(-360.0, 360.0)
|
||||||
|
@ -74,8 +126,8 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||||
_("Angle for Skew action, in degrees.\n"
|
_("Angle for Skew action, in degrees.\n"
|
||||||
"Float number between -360 and 359.")
|
"Float number between -360 and 359.")
|
||||||
)
|
)
|
||||||
grid0.addWidget(self.skewx_label, 3, 0)
|
grid0.addWidget(self.skewx_label, 9, 0)
|
||||||
grid0.addWidget(self.skewx_entry, 3, 1)
|
grid0.addWidget(self.skewx_entry, 9, 1)
|
||||||
|
|
||||||
# ## Skew/Shear Angle on Y axis
|
# ## Skew/Shear Angle on Y axis
|
||||||
self.skewy_entry = FCDoubleSpinner()
|
self.skewy_entry = FCDoubleSpinner()
|
||||||
|
@ -88,12 +140,19 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||||
_("Angle for Skew action, in degrees.\n"
|
_("Angle for Skew action, in degrees.\n"
|
||||||
"Float number between -360 and 359.")
|
"Float number between -360 and 359.")
|
||||||
)
|
)
|
||||||
grid0.addWidget(self.skewy_label, 4, 0)
|
grid0.addWidget(self.skewy_label, 10, 0)
|
||||||
grid0.addWidget(self.skewy_entry, 4, 1)
|
grid0.addWidget(self.skewy_entry, 10, 1)
|
||||||
|
|
||||||
# ## Scale
|
# ## Scale
|
||||||
scale_title_lbl = QtWidgets.QLabel('<b>%s</b>' % _("Scale"))
|
scale_title_lbl = QtWidgets.QLabel('<b>%s</b>' % _("Scale"))
|
||||||
grid0.addWidget(scale_title_lbl, 5, 0, 1, 2)
|
grid0.addWidget(scale_title_lbl, 12, 0)
|
||||||
|
|
||||||
|
# ## Link Scale factors
|
||||||
|
self.scale_link_cb = FCCheckBox(_("Link"))
|
||||||
|
self.scale_link_cb.setToolTip(
|
||||||
|
_("Link the Y entry to X entry and copy its content.")
|
||||||
|
)
|
||||||
|
grid0.addWidget(self.scale_link_cb, 12, 1)
|
||||||
|
|
||||||
self.scalex_entry = FCDoubleSpinner()
|
self.scalex_entry = FCDoubleSpinner()
|
||||||
self.scalex_entry.set_range(0, 9999.9999)
|
self.scalex_entry.set_range(0, 9999.9999)
|
||||||
|
@ -104,8 +163,8 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||||
self.scalex_label.setToolTip(
|
self.scalex_label.setToolTip(
|
||||||
_("Factor for scaling on X axis.")
|
_("Factor for scaling on X axis.")
|
||||||
)
|
)
|
||||||
grid0.addWidget(self.scalex_label, 6, 0)
|
grid0.addWidget(self.scalex_label, 14, 0)
|
||||||
grid0.addWidget(self.scalex_entry, 6, 1)
|
grid0.addWidget(self.scalex_entry, 14, 1)
|
||||||
|
|
||||||
# ## Scale factor on X axis
|
# ## Scale factor on X axis
|
||||||
self.scaley_entry = FCDoubleSpinner()
|
self.scaley_entry = FCDoubleSpinner()
|
||||||
|
@ -117,30 +176,12 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||||
self.scaley_label.setToolTip(
|
self.scaley_label.setToolTip(
|
||||||
_("Factor for scaling on Y axis.")
|
_("Factor for scaling on Y axis.")
|
||||||
)
|
)
|
||||||
grid0.addWidget(self.scaley_label, 7, 0)
|
grid0.addWidget(self.scaley_label, 16, 0)
|
||||||
grid0.addWidget(self.scaley_entry, 7, 1)
|
grid0.addWidget(self.scaley_entry, 16, 1)
|
||||||
|
|
||||||
# ## Link Scale factors
|
|
||||||
self.link_cb = FCCheckBox(_("Link"))
|
|
||||||
self.link_cb.setToolTip(
|
|
||||||
_("Scale the selected object(s)\n"
|
|
||||||
"using the Scale_X factor for both axis.")
|
|
||||||
)
|
|
||||||
grid0.addWidget(self.link_cb, 8, 0)
|
|
||||||
|
|
||||||
# ## Scale Reference
|
|
||||||
self.reference_cb = FCCheckBox('%s' % _("Scale Reference"))
|
|
||||||
self.reference_cb.setToolTip(
|
|
||||||
_("Scale the selected object(s)\n"
|
|
||||||
"using the origin reference when checked,\n"
|
|
||||||
"and the center of the biggest bounding box\n"
|
|
||||||
"of the selected objects when unchecked.")
|
|
||||||
)
|
|
||||||
grid0.addWidget(self.reference_cb, 8, 1)
|
|
||||||
|
|
||||||
# ## Offset
|
# ## Offset
|
||||||
offset_title_lbl = QtWidgets.QLabel('<b>%s</b>' % _("Offset"))
|
offset_title_lbl = QtWidgets.QLabel('<b>%s</b>' % _("Offset"))
|
||||||
grid0.addWidget(offset_title_lbl, 9, 0, 1, 2)
|
grid0.addWidget(offset_title_lbl, 20, 0, 1, 2)
|
||||||
|
|
||||||
self.offx_entry = FCDoubleSpinner()
|
self.offx_entry = FCDoubleSpinner()
|
||||||
self.offx_entry.set_range(-9999.9999, 9999.9999)
|
self.offx_entry.set_range(-9999.9999, 9999.9999)
|
||||||
|
@ -151,8 +192,8 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||||
self.offx_label.setToolTip(
|
self.offx_label.setToolTip(
|
||||||
_("Distance to offset on X axis. In current units.")
|
_("Distance to offset on X axis. In current units.")
|
||||||
)
|
)
|
||||||
grid0.addWidget(self.offx_label, 10, 0)
|
grid0.addWidget(self.offx_label, 22, 0)
|
||||||
grid0.addWidget(self.offx_entry, 10, 1)
|
grid0.addWidget(self.offx_entry, 22, 1)
|
||||||
|
|
||||||
# ## Offset distance on Y axis
|
# ## Offset distance on Y axis
|
||||||
self.offy_entry = FCDoubleSpinner()
|
self.offy_entry = FCDoubleSpinner()
|
||||||
|
@ -164,41 +205,23 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||||
self.offy_label.setToolTip(
|
self.offy_label.setToolTip(
|
||||||
_("Distance to offset on Y axis. In current units.")
|
_("Distance to offset on Y axis. In current units.")
|
||||||
)
|
)
|
||||||
grid0.addWidget(self.offy_label, 11, 0)
|
grid0.addWidget(self.offy_label, 24, 0)
|
||||||
grid0.addWidget(self.offy_entry, 11, 1)
|
grid0.addWidget(self.offy_entry, 24, 1)
|
||||||
|
|
||||||
# ## Mirror
|
|
||||||
mirror_title_lbl = QtWidgets.QLabel('<b>%s</b>' % _("Mirror"))
|
|
||||||
grid0.addWidget(mirror_title_lbl, 12, 0, 1, 2)
|
|
||||||
|
|
||||||
# ## Mirror (Flip) Reference Point
|
|
||||||
self.mirror_reference_cb = FCCheckBox('%s' % _("Mirror Reference"))
|
|
||||||
self.mirror_reference_cb.setToolTip(
|
|
||||||
_("Flip the selected object(s)\n"
|
|
||||||
"around the point in Point Entry Field.\n"
|
|
||||||
"\n"
|
|
||||||
"The point coordinates can be captured by\n"
|
|
||||||
"left click on canvas together with pressing\n"
|
|
||||||
"SHIFT key. \n"
|
|
||||||
"Then click Add button to insert coordinates.\n"
|
|
||||||
"Or enter the coords in format (x, y) in the\n"
|
|
||||||
"Point Entry field and click Flip on X(Y)"))
|
|
||||||
grid0.addWidget(self.mirror_reference_cb, 13, 0, 1, 2)
|
|
||||||
|
|
||||||
self.flip_ref_label = QtWidgets.QLabel('%s' % _("Mirror Reference point"))
|
|
||||||
self.flip_ref_label.setToolTip(
|
|
||||||
_("Coordinates in format (x, y) used as reference for mirroring.\n"
|
|
||||||
"The 'x' in (x, y) will be used when using Flip on X and\n"
|
|
||||||
"the 'y' in (x, y) will be used when using Flip on Y and")
|
|
||||||
)
|
|
||||||
self.flip_ref_entry = NumericalEvalTupleEntry(border_color='#0069A9')
|
|
||||||
|
|
||||||
grid0.addWidget(self.flip_ref_label, 14, 0, 1, 2)
|
|
||||||
grid0.addWidget(self.flip_ref_entry, 15, 0, 1, 2)
|
|
||||||
|
|
||||||
# ## Buffer
|
# ## Buffer
|
||||||
buffer_title_lbl = QtWidgets.QLabel('<b>%s</b>' % _("Buffer"))
|
buffer_title_lbl = QtWidgets.QLabel('<b>%s</b>' % _("Buffer"))
|
||||||
grid0.addWidget(buffer_title_lbl, 16, 0, 1, 2)
|
grid0.addWidget(buffer_title_lbl, 26, 0)
|
||||||
|
|
||||||
|
self.buffer_rounded_cb = FCCheckBox()
|
||||||
|
self.buffer_rounded_cb.setText('%s' % _("Rounded"))
|
||||||
|
self.buffer_rounded_cb.setToolTip(
|
||||||
|
_("If checked then the buffer will surround the buffered shape,\n"
|
||||||
|
"every corner will be rounded.\n"
|
||||||
|
"If not checked then the buffer will follow the exact geometry\n"
|
||||||
|
"of the buffered shape.")
|
||||||
|
)
|
||||||
|
|
||||||
|
grid0.addWidget(self.buffer_rounded_cb, 26, 1)
|
||||||
|
|
||||||
self.buffer_label = QtWidgets.QLabel('%s:' % _("Distance"))
|
self.buffer_label = QtWidgets.QLabel('%s:' % _("Distance"))
|
||||||
self.buffer_label.setToolTip(
|
self.buffer_label.setToolTip(
|
||||||
|
@ -214,8 +237,8 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||||
self.buffer_entry.setWrapping(True)
|
self.buffer_entry.setWrapping(True)
|
||||||
self.buffer_entry.set_range(-9999.9999, 9999.9999)
|
self.buffer_entry.set_range(-9999.9999, 9999.9999)
|
||||||
|
|
||||||
grid0.addWidget(self.buffer_label, 17, 0)
|
grid0.addWidget(self.buffer_label, 28, 0)
|
||||||
grid0.addWidget(self.buffer_entry, 17, 1)
|
grid0.addWidget(self.buffer_entry, 28, 1)
|
||||||
|
|
||||||
self.buffer_factor_label = QtWidgets.QLabel('%s:' % _("Value"))
|
self.buffer_factor_label = QtWidgets.QLabel('%s:' % _("Value"))
|
||||||
self.buffer_factor_label.setToolTip(
|
self.buffer_factor_label.setToolTip(
|
||||||
|
@ -232,18 +255,7 @@ class ToolsTransformPrefGroupUI(OptionsGroupUI):
|
||||||
self.buffer_factor_entry.setWrapping(True)
|
self.buffer_factor_entry.setWrapping(True)
|
||||||
self.buffer_factor_entry.setSingleStep(1)
|
self.buffer_factor_entry.setSingleStep(1)
|
||||||
|
|
||||||
grid0.addWidget(self.buffer_factor_label, 18, 0)
|
grid0.addWidget(self.buffer_factor_label, 30, 0)
|
||||||
grid0.addWidget(self.buffer_factor_entry, 18, 1)
|
grid0.addWidget(self.buffer_factor_entry, 30, 1)
|
||||||
|
|
||||||
self.buffer_rounded_cb = FCCheckBox()
|
|
||||||
self.buffer_rounded_cb.setText('%s' % _("Rounded"))
|
|
||||||
self.buffer_rounded_cb.setToolTip(
|
|
||||||
_("If checked then the buffer will surround the buffered shape,\n"
|
|
||||||
"every corner will be rounded.\n"
|
|
||||||
"If not checked then the buffer will follow the exact geometry\n"
|
|
||||||
"of the buffered shape.")
|
|
||||||
)
|
|
||||||
|
|
||||||
grid0.addWidget(self.buffer_rounded_cb, 19, 0, 1, 2)
|
|
||||||
|
|
||||||
self.layout.addStretch()
|
self.layout.addStretch()
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets, QtGui
|
from PyQt5 import QtWidgets, QtGui
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCButton, FCTextArea, FCEntry
|
from appGUI.GUIElements import FCButton, FCTextArea, FCEntry
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets, QtGui
|
from PyQt5 import QtWidgets, QtGui
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import VerticalScrollArea, FCButton, FCTextArea, FCEntry
|
from appGUI.GUIElements import VerticalScrollArea, FCButton, FCTextArea, FCEntry
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets, QtGui
|
from PyQt5 import QtWidgets, QtGui
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCButton, FCTextArea, FCEntry
|
from appGUI.GUIElements import FCButton, FCTextArea, FCEntry
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,11 +1,11 @@
|
||||||
from PyQt5 import QtWidgets, QtGui
|
from PyQt5 import QtWidgets, QtGui
|
||||||
from PyQt5.QtCore import QSettings
|
from PyQt5.QtCore import QSettings
|
||||||
|
|
||||||
from AppGUI.GUIElements import FCButton, FCTextArea, FCEntry
|
from appGUI.GUIElements import FCButton, FCTextArea, FCEntry
|
||||||
from AppGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
from appGUI.preferences.OptionsGroupUI import OptionsGroupUI
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -1,9 +1,9 @@
|
||||||
from PyQt5 import QtWidgets
|
from PyQt5 import QtWidgets
|
||||||
|
|
||||||
from AppGUI.preferences.utilities.AutoCompletePrefGroupUI import AutoCompletePrefGroupUI
|
from appGUI.preferences.utilities.AutoCompletePrefGroupUI import AutoCompletePrefGroupUI
|
||||||
from AppGUI.preferences.utilities.FAGrbPrefGroupUI import FAGrbPrefGroupUI
|
from appGUI.preferences.utilities.FAGrbPrefGroupUI import FAGrbPrefGroupUI
|
||||||
from AppGUI.preferences.utilities.FAGcoPrefGroupUI import FAGcoPrefGroupUI
|
from appGUI.preferences.utilities.FAGcoPrefGroupUI import FAGcoPrefGroupUI
|
||||||
from AppGUI.preferences.utilities.FAExcPrefGroupUI import FAExcPrefGroupUI
|
from appGUI.preferences.utilities.FAExcPrefGroupUI import FAExcPrefGroupUI
|
||||||
|
|
||||||
|
|
||||||
class UtilPreferencesUI(QtWidgets.QWidget):
|
class UtilPreferencesUI(QtWidgets.QWidget):
|
|
@ -8,20 +8,20 @@
|
||||||
# ###########################################################
|
# ###########################################################
|
||||||
|
|
||||||
from PyQt5 import QtCore
|
from PyQt5 import QtCore
|
||||||
from AppObjects.ObjectCollection import *
|
from appObjects.ObjectCollection import *
|
||||||
from AppObjects.FlatCAMCNCJob import CNCJobObject
|
from appObjects.FlatCAMCNCJob import CNCJobObject
|
||||||
from AppObjects.FlatCAMDocument import DocumentObject
|
from appObjects.FlatCAMDocument import DocumentObject
|
||||||
from AppObjects.FlatCAMExcellon import ExcellonObject
|
from appObjects.FlatCAMExcellon import ExcellonObject
|
||||||
from AppObjects.FlatCAMGeometry import GeometryObject
|
from appObjects.FlatCAMGeometry import GeometryObject
|
||||||
from AppObjects.FlatCAMGerber import GerberObject
|
from appObjects.FlatCAMGerber import GerberObject
|
||||||
from AppObjects.FlatCAMScript import ScriptObject
|
from appObjects.FlatCAMScript import ScriptObject
|
||||||
|
|
||||||
import time
|
import time
|
||||||
import traceback
|
import traceback
|
||||||
|
|
||||||
# FlatCAM Translation
|
# FlatCAM Translation
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
||||||
|
@ -137,7 +137,9 @@ class AppObject(QtCore.QObject):
|
||||||
return "fail"
|
return "fail"
|
||||||
|
|
||||||
t2 = time.time()
|
t2 = time.time()
|
||||||
log.debug("%f seconds executing initialize()." % (t2 - t1))
|
msg = "%f seconds executing initialize()." % (t2 - t1)
|
||||||
|
log.debug(msg)
|
||||||
|
self.app.shell_message(msg)
|
||||||
|
|
||||||
if return_value == 'fail':
|
if return_value == 'fail':
|
||||||
log.debug("Object (%s) parsing and/or geometry creation failed." % kind)
|
log.debug("Object (%s) parsing and/or geometry creation failed." % kind)
|
||||||
|
@ -353,9 +355,14 @@ class AppObject(QtCore.QObject):
|
||||||
t_obj.plot()
|
t_obj.plot()
|
||||||
|
|
||||||
t1 = time.time() # DEBUG
|
t1 = time.time() # DEBUG
|
||||||
log.debug("%f seconds adding object and plotting." % (t1 - t0))
|
msg = "%f seconds adding object and plotting." % (t1 - t0)
|
||||||
|
log.debug(msg)
|
||||||
self.object_plotted.emit(t_obj)
|
self.object_plotted.emit(t_obj)
|
||||||
|
|
||||||
|
if t_obj.kind == 'gerber' and self.app.defaults["gerber_buffering"] != 'full' and \
|
||||||
|
self.app.defaults["gerber_delayed_buffering"]:
|
||||||
|
t_obj.do_buffer_signal.emit()
|
||||||
|
|
||||||
# Send to worker
|
# Send to worker
|
||||||
# self.worker.add_task(worker_task, [self])
|
# self.worker.add_task(worker_task, [self])
|
||||||
if plot is True:
|
if plot is True:
|
|
@ -14,8 +14,8 @@ from copy import deepcopy
|
||||||
from io import StringIO
|
from io import StringIO
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
from AppEditors.FlatCAMTextEditor import TextEditor
|
from appEditors.FlatCAMTextEditor import TextEditor
|
||||||
from AppObjects.FlatCAMObj import *
|
from appObjects.FlatCAMObj import *
|
||||||
|
|
||||||
from camlib import CNCjob
|
from camlib import CNCjob
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ import sys
|
||||||
import math
|
import math
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -10,11 +10,11 @@
|
||||||
# File modified by: Marius Stanciu #
|
# File modified by: Marius Stanciu #
|
||||||
# ##########################################################
|
# ##########################################################
|
||||||
|
|
||||||
from AppEditors.FlatCAMTextEditor import TextEditor
|
from appEditors.FlatCAMTextEditor import TextEditor
|
||||||
from AppObjects.FlatCAMObj import *
|
from appObjects.FlatCAMObj import *
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -15,14 +15,14 @@ from shapely.geometry import Point, LineString
|
||||||
|
|
||||||
from copy import deepcopy
|
from copy import deepcopy
|
||||||
|
|
||||||
from AppParsers.ParseExcellon import Excellon
|
from appParsers.ParseExcellon import Excellon
|
||||||
from AppObjects.FlatCAMObj import *
|
from appObjects.FlatCAMObj import *
|
||||||
|
|
||||||
import itertools
|
import itertools
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
||||||
|
@ -963,7 +963,7 @@ class ExcellonObject(FlatCAMObj, Excellon):
|
||||||
def get_selected_tools_list(self):
|
def get_selected_tools_list(self):
|
||||||
"""
|
"""
|
||||||
Returns the keys to the self.tools dictionary corresponding
|
Returns the keys to the self.tools dictionary corresponding
|
||||||
to the selections on the tool list in the AppGUI.
|
to the selections on the tool list in the appGUI.
|
||||||
|
|
||||||
:return: List of tools.
|
:return: List of tools.
|
||||||
:rtype: list
|
:rtype: list
|
|
@ -15,7 +15,7 @@ import shapely.affinity as affinity
|
||||||
|
|
||||||
from camlib import Geometry
|
from camlib import Geometry
|
||||||
|
|
||||||
from AppObjects.FlatCAMObj import *
|
from appObjects.FlatCAMObj import *
|
||||||
|
|
||||||
import ezdxf
|
import ezdxf
|
||||||
import math
|
import math
|
||||||
|
@ -24,7 +24,7 @@ from copy import deepcopy
|
||||||
import traceback
|
import traceback
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
||||||
|
@ -940,7 +940,7 @@ class GeometryObject(FlatCAMObj, Geometry):
|
||||||
self.ui_connect()
|
self.ui_connect()
|
||||||
self.build_ui()
|
self.build_ui()
|
||||||
|
|
||||||
# if there is no tool left in the Tools Table, enable the parameters AppGUI
|
# if there is no tool left in the Tools Table, enable the parameters appGUI
|
||||||
if self.ui.geo_tools_table.rowCount() != 0:
|
if self.ui.geo_tools_table.rowCount() != 0:
|
||||||
self.ui.geo_param_frame.setDisabled(False)
|
self.ui.geo_param_frame.setDisabled(False)
|
||||||
|
|
||||||
|
@ -1016,7 +1016,7 @@ class GeometryObject(FlatCAMObj, Geometry):
|
||||||
self.ui_connect()
|
self.ui_connect()
|
||||||
self.build_ui()
|
self.build_ui()
|
||||||
|
|
||||||
# if there is no tool left in the Tools Table, enable the parameters AppGUI
|
# if there is no tool left in the Tools Table, enable the parameters appGUI
|
||||||
if self.ui.geo_tools_table.rowCount() != 0:
|
if self.ui.geo_tools_table.rowCount() != 0:
|
||||||
self.ui.geo_param_frame.setDisabled(False)
|
self.ui.geo_param_frame.setDisabled(False)
|
||||||
|
|
||||||
|
@ -1197,7 +1197,7 @@ class GeometryObject(FlatCAMObj, Geometry):
|
||||||
obj_active.options['xmax'] = 0
|
obj_active.options['xmax'] = 0
|
||||||
obj_active.options['ymax'] = 0
|
obj_active.options['ymax'] = 0
|
||||||
|
|
||||||
# if there is no tool left in the Tools Table, disable the parameters AppGUI
|
# if there is no tool left in the Tools Table, disable the parameters appGUI
|
||||||
if self.ui.geo_tools_table.rowCount() == 0:
|
if self.ui.geo_tools_table.rowCount() == 0:
|
||||||
self.ui.geo_param_frame.setDisabled(True)
|
self.ui.geo_param_frame.setDisabled(True)
|
||||||
|
|
||||||
|
@ -1759,7 +1759,7 @@ class GeometryObject(FlatCAMObj, Geometry):
|
||||||
:param tools_dict: a dictionary that holds the whole data needed to create the Gcode
|
:param tools_dict: a dictionary that holds the whole data needed to create the Gcode
|
||||||
(including the solid_geometry)
|
(including the solid_geometry)
|
||||||
:param tools_in_use: the tools that are used, needed by some preprocessors
|
:param tools_in_use: the tools that are used, needed by some preprocessors
|
||||||
:type tools_in_use list of lists, each list in the list is made out of row elements of tools table from AppGUI
|
:type tools_in_use list of lists, each list in the list is made out of row elements of tools table from appGUI
|
||||||
:param segx: number of segments on the X axis, for auto-levelling
|
:param segx: number of segments on the X axis, for auto-levelling
|
||||||
:param segy: number of segments on the Y axis, for auto-levelling
|
:param segy: number of segments on the Y axis, for auto-levelling
|
||||||
:param plot: if True the generated object will be plotted; if False will not be plotted
|
:param plot: if True the generated object will be plotted; if False will not be plotted
|
|
@ -14,15 +14,15 @@
|
||||||
from shapely.geometry import Point, Polygon, MultiPolygon, MultiLineString, LineString, LinearRing
|
from shapely.geometry import Point, Polygon, MultiPolygon, MultiLineString, LineString, LinearRing
|
||||||
from shapely.ops import cascaded_union
|
from shapely.ops import cascaded_union
|
||||||
|
|
||||||
from AppParsers.ParseGerber import Gerber
|
from appParsers.ParseGerber import Gerber
|
||||||
from AppObjects.FlatCAMObj import *
|
from appObjects.FlatCAMObj import *
|
||||||
|
|
||||||
import math
|
import math
|
||||||
import numpy as np
|
import numpy as np
|
||||||
from copy import deepcopy
|
from copy import deepcopy
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
||||||
|
@ -37,6 +37,8 @@ class GerberObject(FlatCAMObj, Gerber):
|
||||||
optionChanged = QtCore.pyqtSignal(str)
|
optionChanged = QtCore.pyqtSignal(str)
|
||||||
replotApertures = QtCore.pyqtSignal()
|
replotApertures = QtCore.pyqtSignal()
|
||||||
|
|
||||||
|
do_buffer_signal = QtCore.pyqtSignal()
|
||||||
|
|
||||||
ui_type = GerberObjectUI
|
ui_type = GerberObjectUI
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
|
@ -214,6 +216,8 @@ class GerberObject(FlatCAMObj, Gerber):
|
||||||
self.ui.aperture_table_visibility_cb.stateChanged.connect(self.on_aperture_table_visibility_change)
|
self.ui.aperture_table_visibility_cb.stateChanged.connect(self.on_aperture_table_visibility_change)
|
||||||
self.ui.follow_cb.stateChanged.connect(self.on_follow_cb_click)
|
self.ui.follow_cb.stateChanged.connect(self.on_follow_cb_click)
|
||||||
|
|
||||||
|
self.do_buffer_signal.connect(self.on_generate_buffer)
|
||||||
|
|
||||||
# Show/Hide Advanced Options
|
# Show/Hide Advanced Options
|
||||||
if self.app.defaults["global_app_level"] == 'b':
|
if self.app.defaults["global_app_level"] == 'b':
|
||||||
self.ui.level.setText('<span style="color:green;"><b>%s</b></span>' % _('Basic'))
|
self.ui.level.setText('<span style="color:green;"><b>%s</b></span>' % _('Basic'))
|
||||||
|
@ -384,16 +388,25 @@ class GerberObject(FlatCAMObj, Gerber):
|
||||||
except (TypeError, AttributeError):
|
except (TypeError, AttributeError):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def buffer_handler(geo):
|
||||||
|
new_geo = geo
|
||||||
|
if isinstance(new_geo, list):
|
||||||
|
new_geo = MultiPolygon(new_geo)
|
||||||
|
|
||||||
|
new_geo = new_geo.buffer(0.0000001)
|
||||||
|
new_geo = new_geo.buffer(-0.0000001)
|
||||||
|
|
||||||
|
return new_geo
|
||||||
|
|
||||||
def on_generate_buffer(self):
|
def on_generate_buffer(self):
|
||||||
self.app.inform.emit('[WARNING_NOTCL] %s...' % _("Buffering solid geometry"))
|
self.app.inform.emit('[WARNING_NOTCL] %s...' % _("Buffering solid geometry"))
|
||||||
|
|
||||||
def buffer_task():
|
def buffer_task():
|
||||||
with self.app.proc_container.new('%s...' % _("Buffering")):
|
with self.app.proc_container.new('%s...' % _("Buffering")):
|
||||||
if isinstance(self.solid_geometry, list):
|
output = self.app.pool.apply_async(self.buffer_handler, args=([self.solid_geometry]))
|
||||||
self.solid_geometry = MultiPolygon(self.solid_geometry)
|
self.solid_geometry = output.get()
|
||||||
|
|
||||||
self.solid_geometry = self.solid_geometry.buffer(0.0000001)
|
|
||||||
self.solid_geometry = self.solid_geometry.buffer(-0.0000001)
|
|
||||||
self.app.inform.emit('[success] %s.' % _("Done"))
|
self.app.inform.emit('[success] %s.' % _("Done"))
|
||||||
self.plot_single_object.emit()
|
self.plot_single_object.emit()
|
||||||
|
|
||||||
|
@ -1490,7 +1503,7 @@ class GerberObject(FlatCAMObj, Gerber):
|
||||||
Gerber.skew(self, angle_x=angle_x, angle_y=angle_y, point=point)
|
Gerber.skew(self, angle_x=angle_x, angle_y=angle_y, point=point)
|
||||||
self.replotApertures.emit()
|
self.replotApertures.emit()
|
||||||
|
|
||||||
def buffer(self, distance, join, factor=None):
|
def buffer(self, distance, join=2, factor=None):
|
||||||
Gerber.buffer(self, distance=distance, join=join, factor=factor)
|
Gerber.buffer(self, distance=distance, join=join, factor=factor)
|
||||||
self.replotApertures.emit()
|
self.replotApertures.emit()
|
||||||
|
|
|
@ -12,15 +12,15 @@
|
||||||
|
|
||||||
import inspect # TODO: For debugging only.
|
import inspect # TODO: For debugging only.
|
||||||
|
|
||||||
from AppGUI.ObjectUI import *
|
from appGUI.ObjectUI import *
|
||||||
|
|
||||||
from Common import LoudDict
|
from Common import LoudDict
|
||||||
from AppGUI.PlotCanvasLegacy import ShapeCollectionLegacy
|
from appGUI.PlotCanvasLegacy import ShapeCollectionLegacy
|
||||||
|
|
||||||
import sys
|
import sys
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
||||||
|
@ -43,7 +43,7 @@ class ValidationError(Exception):
|
||||||
class FlatCAMObj(QtCore.QObject):
|
class FlatCAMObj(QtCore.QObject):
|
||||||
"""
|
"""
|
||||||
Base type of objects handled in FlatCAM. These become interactive
|
Base type of objects handled in FlatCAM. These become interactive
|
||||||
in the AppGUI, can be plotted, and their options can be modified
|
in the appGUI, can be plotted, and their options can be modified
|
||||||
by the user in their respective forms.
|
by the user in their respective forms.
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -10,16 +10,16 @@
|
||||||
# File modified by: Marius Stanciu #
|
# File modified by: Marius Stanciu #
|
||||||
# ##########################################################
|
# ##########################################################
|
||||||
|
|
||||||
from AppEditors.FlatCAMTextEditor import TextEditor
|
from appEditors.FlatCAMTextEditor import TextEditor
|
||||||
from AppObjects.FlatCAMObj import *
|
from appObjects.FlatCAMObj import *
|
||||||
from AppGUI.ObjectUI import *
|
from appGUI.ObjectUI import *
|
||||||
|
|
||||||
import tkinter as tk
|
import tkinter as tk
|
||||||
import sys
|
import sys
|
||||||
from copy import deepcopy
|
from copy import deepcopy
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
|
@ -16,13 +16,13 @@ from PyQt5.QtCore import Qt, QSettings
|
||||||
from PyQt5.QtGui import QColor
|
from PyQt5.QtGui import QColor
|
||||||
# from PyQt5.QtCore import QModelIndex
|
# from PyQt5.QtCore import QModelIndex
|
||||||
|
|
||||||
from AppObjects.FlatCAMObj import FlatCAMObj
|
from appObjects.FlatCAMObj import FlatCAMObj
|
||||||
from AppObjects.FlatCAMCNCJob import CNCJobObject
|
from appObjects.FlatCAMCNCJob import CNCJobObject
|
||||||
from AppObjects.FlatCAMDocument import DocumentObject
|
from appObjects.FlatCAMDocument import DocumentObject
|
||||||
from AppObjects.FlatCAMExcellon import ExcellonObject
|
from appObjects.FlatCAMExcellon import ExcellonObject
|
||||||
from AppObjects.FlatCAMGeometry import GeometryObject
|
from appObjects.FlatCAMGeometry import GeometryObject
|
||||||
from AppObjects.FlatCAMGerber import GerberObject
|
from appObjects.FlatCAMGerber import GerberObject
|
||||||
from AppObjects.FlatCAMScript import ScriptObject
|
from appObjects.FlatCAMScript import ScriptObject
|
||||||
|
|
||||||
import inspect # TODO: Remove
|
import inspect # TODO: Remove
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@ from copy import deepcopy
|
||||||
from numpy import Inf
|
from numpy import Inf
|
||||||
|
|
||||||
import gettext
|
import gettext
|
||||||
import AppTranslation as fcTranslate
|
import appTranslation as fcTranslate
|
||||||
import builtins
|
import builtins
|
||||||
|
|
||||||
fcTranslate.apply_language('strings')
|
fcTranslate.apply_language('strings')
|
||||||
|
@ -56,7 +56,7 @@ class KeySensitiveListView(QtWidgets.QTreeView):
|
||||||
# self.setRootIsDecorated(False)
|
# self.setRootIsDecorated(False)
|
||||||
# self.setExpandsOnDoubleClick(False)
|
# self.setExpandsOnDoubleClick(False)
|
||||||
|
|
||||||
# Enable dragging and dropping onto the AppGUI
|
# Enable dragging and dropping onto the appGUI
|
||||||
self.setAcceptDrops(True)
|
self.setAcceptDrops(True)
|
||||||
self.filename = ""
|
self.filename = ""
|
||||||
self.app = app
|
self.app = app
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue