Przeglądaj źródła

- added a visual cue in Menu -> Edit about the entries to enter the Editor and to Save & Exit Editor. When one is enabled the other is disabled.
- grouped all the UI files in flatcamGUI folder

Marius Stanciu 6 lat temu
rodzic
commit
9d33e08ecf

+ 3 - 4
FlatCAM.py

@@ -1,15 +1,14 @@
 import sys, os
-from PyQt5 import sip
 
-from PyQt5 import QtGui, QtCore, QtWidgets
+from PyQt5 import QtWidgets
 from PyQt5.QtCore import QSettings, Qt
 from FlatCAMApp import App
 from multiprocessing import freeze_support
-import VisPyPatches
+from flatcamGUI import VisPyPatches
 
 if sys.platform == "win32":
     # cx_freeze 'module win32' workaround
-    import OpenGL.platform.win32
+    pass
 
 def debug_trace():
     """

+ 12 - 17
FlatCAMApp.py

@@ -6,33 +6,20 @@
 # MIT Licence                                              #
 ############################################################
 
-import sys
-import traceback
 import urllib.request, urllib.parse, urllib.error
 import getopt
-import os
 import random
-import logging
 import simplejson as json
 import lzma
 
-import re
-import os
 from stat import S_IREAD, S_IRGRP, S_IROTH
 import subprocess
 
 import tkinter as tk
-from PyQt5 import QtCore, QtGui, QtWidgets, QtPrintSupport
-from PyQt5.QtCore import QSettings
+from PyQt5 import QtPrintSupport
 
-import time  # Just used for debugging. Double check before removing.
 import urllib.request, urllib.parse, urllib.error
-import webbrowser
 from contextlib import contextmanager
-from xml.dom.minidom import parseString as parse_xml_string
-from copy import copy,deepcopy
-import numpy as np
-from datetime import datetime
 import gc
 
 ########################################
@@ -40,15 +27,15 @@ import gc
 ########################################
 from ObjectCollection import *
 from FlatCAMObj import *
-from PlotCanvas import *
-from FlatCAMGUI import *
+from flatcamGUI.PlotCanvas import *
+from flatcamGUI.FlatCAMGUI import *
 from FlatCAMCommon import LoudDict
 from FlatCAMPostProc import load_postprocessors
 
 from FlatCAMEditor import FlatCAMGeoEditor, FlatCAMExcEditor
 from FlatCAMProcess import *
 from FlatCAMWorkerStack import WorkerStack
-from VisPyVisuals import Color
+from flatcamGUI.VisPyVisuals import Color
 from vispy.gloo.util import _screenshot
 from vispy.io import write_png
 
@@ -1866,6 +1853,10 @@ class App(QtCore.QObject):
         self.ui.popmenu_edit.setVisible(False)
         self.ui.popmenu_save.setVisible(True)
 
+        # adjust the status of the menu entries related to the editor
+        self.ui.menueditedit.setDisabled(True)
+        self.ui.menueditok.setDisabled(False)
+
         edited_object = self.collection.get_active()
 
         if isinstance(edited_object, FlatCAMGeometry):
@@ -1915,6 +1906,10 @@ class App(QtCore.QObject):
         """
         self.report_usage("editor2object()")
 
+        # adjust the status of the menu entries related to the editor
+        self.ui.menueditedit.setDisabled(False)
+        self.ui.menueditok.setDisabled(True)
+
         # do not update a geometry or excellon object unless it comes out of an editor
         if self.call_source != 'app':
             # adjust the visibility of some of the canvas context menu

+ 6 - 16
FlatCAMEditor.py

@@ -13,30 +13,20 @@
 
 from PyQt5 import QtGui, QtCore, QtWidgets
 from PyQt5.QtCore import Qt, QSettings
-import FlatCAMApp
 from camlib import *
 from FlatCAMTool import FlatCAMTool
-from ObjectUI import LengthEntry, RadioSet
+from flatcamGUI.ObjectUI import LengthEntry, RadioSet
 
-from shapely.geometry import Polygon, LineString, Point, LinearRing, MultiLineString
-from shapely.geometry import MultiPoint, MultiPolygon
-from shapely.geometry import box as shply_box
-from shapely.ops import cascaded_union, unary_union
+from shapely.geometry import LineString, LinearRing, MultiLineString
+from shapely.ops import cascaded_union
 import shapely.affinity as affinity
-from shapely.wkt import loads as sloads
-from shapely.wkt import dumps as sdumps
-from shapely.geometry.base import BaseGeometry
 
-from numpy import arctan2, Inf, array, sqrt, pi, ceil, sin, cos, sign, dot
-from numpy.linalg import solve
+from numpy import arctan2, Inf, array, sqrt, sign, dot
 
 from rtree import index as rtindex
-from GUIElements import OptionalInputSection, FCCheckBox, FCEntry, FCEntry2, FCComboBox, FCTextAreaRich, \
-    VerticalScrollArea, FCTable, FCDoubleSpinner, FCButton, EvalEntry2, FCInputDialog
+from flatcamGUI.GUIElements import OptionalInputSection, FCCheckBox, FCEntry, FCComboBox, FCTextAreaRich, \
+    FCTable, FCDoubleSpinner, FCButton, EvalEntry2, FCInputDialog
 from ParseFont import *
-from vispy.scene.visuals import Markers
-from copy import copy
-import freetype as ft
 
 import gettext
 import FlatCAMTranslation as fcTranslate

+ 2 - 8
FlatCAMObj.py

@@ -6,20 +6,13 @@
 # MIT Licence                                              #
 ############################################################
 
-from io import StringIO
-from PyQt5 import QtCore, QtGui
-from PyQt5.QtCore import Qt
 import copy
 import inspect  # TODO: For debugging only.
-from shapely.geometry.base import JOIN_STYLE
 from datetime import datetime
 
-import FlatCAMApp
-from ObjectUI import *
+from flatcamGUI.ObjectUI import *
 from FlatCAMCommon import LoudDict
-from FlatCAMEditor import FlatCAMGeoEditor
 from camlib import *
-from VisPyVisuals import ShapeCollectionVisual
 import itertools
 
 import gettext
@@ -30,6 +23,7 @@ import builtins
 if '_' not in builtins.__dict__:
     _ = gettext.gettext
 
+
 class ObjectDeleted(Exception):
     # Interrupts plotting process if FlatCAMObj has been deleted
     pass

+ 1 - 1
FlatCAMProcess.py

@@ -6,7 +6,7 @@
 # MIT Licence                                              #
 ############################################################
 
-from FlatCAMGUI import FlatCAMActivityView
+from flatcamGUI.FlatCAMGUI import FlatCAMActivityView
 from PyQt5 import QtCore
 import weakref
 

+ 1 - 2
FlatCAMTranslation.py

@@ -12,8 +12,7 @@ import sys
 from PyQt5 import QtWidgets, QtGui
 from PyQt5.QtCore import QSettings
 
-import FlatCAMApp
-from GUIElements import log
+from flatcamGUI.GUIElements import log
 import gettext
 
 # ISO639-1 codes from here: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes

+ 2 - 0
README.md

@@ -14,6 +14,8 @@ CAD program, and create G-Code for Isolation routing.
 - changed some icons here and there
 - fixed the Properties Project menu entry to work on the new way
 - in Properties tool now the Gerber apertures show the number of polygons in 'solid_geometry' instead of listing the objects
+- added a visual cue in Menu -> Edit about the entries to enter the Editor and to Save & Exit Editor. When one is enabled the other is disabled.
+- grouped all the UI files in flatcamGUI folder
 
 10.03.2019
 

+ 7 - 3
FlatCAMGUI.py → flatcamGUI/FlatCAMGUI.py

@@ -11,9 +11,8 @@
 # Date: 3/10/2019                                          #
 ############################################################
 
-from PyQt5 import QtGui, QtCore, QtWidgets
-from PyQt5.QtCore import Qt, QSettings
-from GUIElements import *
+from PyQt5.QtCore import QSettings
+from flatcamGUI.GUIElements import *
 import platform
 import webbrowser
 
@@ -211,6 +210,11 @@ class FlatCAMGUI(QtWidgets.QMainWindow):
         self.menuedit.addSeparator()
         self.menueditedit = self.menuedit.addAction(QtGui.QIcon('share/edit16.png'), _('Edit Object\tE'))
         self.menueditok = self.menuedit.addAction(QtGui.QIcon('share/edit_ok16.png'), _('Save && Close Editor\tCTRL+S'))
+
+        # adjust the initial state of the menu entries related to the editor
+        self.menueditedit.setDisabled(False)
+        self.menueditok.setDisabled(True)
+
         # Separator
         self.menuedit.addSeparator()
         self.menuedit_convert = self.menuedit.addMenu(QtGui.QIcon('share/convert24.png'), _('Conversion'))

+ 0 - 0
GUIElements.py → flatcamGUI/GUIElements.py


+ 1 - 4
ObjectUI.py → flatcamGUI/ObjectUI.py

@@ -11,12 +11,9 @@
 # Date: 3/10/2019                                          #
 ############################################################
 
-import sys
 from PyQt5 import QtGui, QtCore, QtWidgets
 from PyQt5.QtCore import Qt
-from GUIElements import FCEntry, FloatEntry, EvalEntry, FCCheckBox, FCTable, \
-    LengthEntry, FCTextArea, IntEntry, RadioSet, OptionalInputSection, FCComboBox, FloatEntry2, EvalEntry2, FCButton
-from camlib import Excellon
+from flatcamGUI.GUIElements import *
 
 import gettext
 import FlatCAMTranslation as fcTranslate

+ 2 - 3
PlotCanvas.py → flatcamGUI/PlotCanvas.py

@@ -9,12 +9,11 @@
 from PyQt5 import QtCore
 
 import logging
-from VisPyCanvas import VisPyCanvas
-from VisPyVisuals import ShapeGroup, ShapeCollection, TextCollection, TextGroup, Cursor
+from flatcamGUI.VisPyCanvas import VisPyCanvas, time
+from flatcamGUI.VisPyVisuals import ShapeGroup, ShapeCollection, TextCollection, TextGroup, Cursor
 from vispy.scene.visuals import InfiniteLine, Line
 import numpy as np
 from vispy.geometry import Rect
-import time
 
 log = logging.getLogger('base')
 

+ 0 - 0
VisPyCanvas.py → flatcamGUI/VisPyCanvas.py


+ 0 - 0
VisPyPatches.py → flatcamGUI/VisPyPatches.py


+ 0 - 0
VisPyTesselators.py → flatcamGUI/VisPyTesselators.py


+ 1 - 1
VisPyVisuals.py → flatcamGUI/VisPyVisuals.py

@@ -13,7 +13,7 @@ from vispy.color import Color
 from shapely.geometry import Polygon, LineString, LinearRing
 import threading
 import numpy as np
-from VisPyTesselators import GLUTess
+from flatcamGUI.VisPyTesselators import GLUTess
 
 
 class FlatCAMLineVisual(LineVisual):

+ 0 - 0
flatcamGUI/__init__.py


+ 0 - 2
flatcamTools/ToolCalculators.py

@@ -6,8 +6,6 @@
 # MIT Licence                                              #
 ############################################################
 
-from PyQt5 import QtGui
-from GUIElements import FCEntry
 from FlatCAMTool import FlatCAMTool
 from FlatCAMObj import *
 import math

+ 0 - 2
flatcamTools/ToolDblSided.py

@@ -1,5 +1,3 @@
-from PyQt5 import QtGui
-from GUIElements import RadioSet, EvalEntry, LengthEntry
 from FlatCAMTool import FlatCAMTool
 from FlatCAMObj import *
 from shapely.geometry import Point

+ 1 - 1
flatcamTools/ToolFilm.py

@@ -8,7 +8,7 @@
 
 from FlatCAMTool import FlatCAMTool
 
-from GUIElements import RadioSet, FCEntry
+from flatcamGUI.GUIElements import RadioSet, FCEntry
 from PyQt5 import QtGui, QtCore, QtWidgets
 
 import gettext

+ 2 - 2
flatcamTools/ToolImage.py

@@ -8,8 +8,8 @@
 
 from FlatCAMTool import FlatCAMTool
 
-from GUIElements import RadioSet, FloatEntry, FCComboBox, IntEntry
-from PyQt5 import QtGui, QtCore, QtWidgets
+from flatcamGUI.GUIElements import RadioSet, FCComboBox, IntEntry
+from PyQt5 import QtGui, QtWidgets
 
 import gettext
 import FlatCAMTranslation as fcTranslate

+ 1 - 3
flatcamTools/ToolMeasurement.py

@@ -8,10 +8,8 @@
 
 from FlatCAMTool import FlatCAMTool
 from FlatCAMObj import *
-from VisPyVisuals import *
-from PyQt5.QtCore import QSettings
+from flatcamGUI.VisPyVisuals import *
 
-from copy import copy
 from math import sqrt
 
 import gettext

+ 1 - 2
flatcamTools/ToolMove.py

@@ -8,9 +8,8 @@
 
 from FlatCAMTool import FlatCAMTool
 from FlatCAMObj import *
-from VisPyVisuals import *
+from flatcamGUI.VisPyVisuals import *
 
-from io import StringIO
 from copy import copy
 
 import gettext

+ 1 - 1
flatcamTools/ToolShell.py

@@ -10,7 +10,7 @@
 from PyQt5.QtCore import Qt
 from PyQt5.QtGui import QTextCursor
 from PyQt5.QtWidgets import QVBoxLayout, QWidget
-from GUIElements import _BrowserTextEdit, _ExpandableTextEdit
+from flatcamGUI.GUIElements import _BrowserTextEdit, _ExpandableTextEdit
 import html
 
 import gettext

+ 3 - 4
flatcamTools/ToolSolderPaste.py

@@ -8,9 +8,9 @@
 
 from FlatCAMTool import FlatCAMTool
 from FlatCAMCommon import LoudDict
-from GUIElements import FCComboBox, FCEntry, FCTable
+from flatcamGUI.GUIElements import FCComboBox, FCEntry, FCTable
 from FlatCAMApp import log
-from camlib import distance, CNCjob
+from camlib import distance
 from FlatCAMObj import FlatCAMCNCjob
 
 from PyQt5 import QtGui, QtCore, QtWidgets
@@ -18,8 +18,7 @@ from PyQt5.QtCore import Qt
 from copy import deepcopy
 from datetime import datetime
 
-from shapely.geometry import MultiPolygon, Polygon, LineString
-from shapely.geometry.base import BaseGeometry
+from shapely.geometry import Polygon, LineString
 from shapely.ops import cascaded_union
 
 import traceback

+ 0 - 3
flatcamTools/ToolTransform.py

@@ -6,9 +6,6 @@
 # MIT Licence                                              #
 ############################################################
 
-from PyQt5 import QtGui, QtCore, QtWidgets
-from PyQt5.QtCore import Qt
-from GUIElements import FCEntry, FCButton, OptionalInputSection
 from FlatCAMTool import FlatCAMTool
 from FlatCAMObj import *