Commit Graph

1977 Commits

Author SHA1 Message Date
vocx-fc
aa894ddc07 Draft: move Arc GuiCommand to gui_arcs module
Also move the `ArcGroup` that containst the two arc tools.
2020-04-22 12:07:25 +02:00
vocx-fc
42932b19a3 Draft: move Rectangle GuiCommand to gui_rectangles module 2020-04-22 12:07:25 +02:00
vocx-fc
5fbf6f8055 Draft: move CubicBezCurve GuiCommand to gui_beziers module
Also move the `BezierGroup` that contains the two Bezier tools.
2020-04-22 12:07:25 +02:00
vocx-fc
e2e9a17dd0 Draft: move BezCurve GuiCommand to gui_beziers module 2020-04-22 12:07:25 +02:00
vocx-fc
cd72ba253b Draft: move BSpline GuiCommand to gui_splines module 2020-04-22 12:07:25 +02:00
vocx-fc
3df6dab640 Draft: move Wire GuiCommand to gui_lines module 2020-04-22 12:07:25 +02:00
vocx-fc
96795ddadc Draft: move Line GuiCommand to gui_lines module 2020-04-22 12:07:25 +02:00
carlopav
5a4b78c0c3 [Draft] Fixed scale multiplier for text object 2020-04-21 12:58:20 +02:00
vocx-fc
f5bfb56e82 Draft: move Modifier class to gui_base_original module 2020-04-21 12:53:30 +02:00
vocx-fc
8b3bac1d73 Draft: move Creator class to gui_base_original module 2020-04-21 12:53:30 +02:00
vocx-fc
cb545c7fa8 Draft: import Part module where necessary for the tools
Also import `DraftGeomUtils` where necessary.

These modules were previously imported globaly when the base
`DraftTool` class was first called by the individual tools
through the `Creator` and `Modifier` classes.

However, since `DraftTool` was moved to a separate module,
these `Part` and `DraftGeomUtils` modules are no longer
in the `DraftTools` namespace, and therefore they
cannot be imported globally anymore.

Now the `Part` and `DraftGeomUtils` modules are imported
in the specific functions where they are actually needed.
2020-04-21 12:53:30 +02:00
vocx-fc
180544edbb Draft: move the base DraftTool class to its own module
This is the base class of most Draft Gui Commands,
particularly those which were developed a long time ago.
It is inherited by `Creator` and `Modifier`
to set some specific options for some tools.

Newer Gui Commands do not use these classes and thus
are independent of `DraftTool`.

Nevertheless, in the future we expect to organize further
the commands so that they all derive from a few classes,
so that they all share some common properties and behaviors.
2020-04-21 12:53:30 +02:00
vocx-fc
23e324280f Draft: move DraftTools utilities to another module
These small functions and utilities are placed in another
module, so they can be imported and called
by the individual Gui Command classes as necessary.

When these Gui Command classes are moved to their respective
modules, they will be able to import this auxiliary module as well.
2020-04-21 12:53:30 +02:00
vocx-fc
f518cfee8f Draft: GuiCommandSimplest to serve as base of simple Gui Commands
This class defines the `command_name` of the command,
so that it is output to the report view, and is also recorded
in the log file.

It also stores the current document so it can be used inside the
command.

The class implements with `IsActive` method so that the command
is only active when an active document exists.

Also `GuiCommandNeedsSelection`, which subclasses the former
class. It reimplements `IsActive` in order to be available
only when there is a selection.
2020-04-21 12:53:30 +02:00
Yorik van Havre
4d90327a97 Draft: Fixed further regressions 2020-04-21 12:46:08 +02:00
Yorik van Havre
aafe4b9f43 Draft: Fixed broken backwards compatibility with annotations 2020-04-21 12:20:10 +02:00
luz.paz
7eb270017e [skip ci] fix documentation typos
Found via codespell v1.17.0.dev0  
```
codespell -q 3 -L aci,ake,aline,alle,alledges,alocation,als,ang,anid,ba,beginn,behaviour,bloaded,byteorder,calculater,cancelled,cancelling,cas,cascade,centimetre,childs,colour,colours,commen,connexion,currenty,dof,doubleclick,dum,eiter,elemente,ende,feld,finde,findf,freez,hist,iff,indicies,initialisation,initialise,initialised,initialises,initialisiert,ist,kilometre,lod,mantatory,methode,metres,millimetre,modell,nd,noe,normale,normaly,nto,numer,oder,orgin,orginx,orginy,ot,pard,pres,programm,que,recurrance,rougly,seperator,serie,sinc,strack,substraction,te,thist,thru,tread,uint,unter,vertexes,wallthickness,whitespaces -S ./.git,*.po,*.ts,./ChangeLog.txt,./src/3rdParty,./src/Mod/Assembly/App/opendcm,./src/CXX,./src/zipios++,./src/Base/swig*,./src/Mod/Robot/App/kdl_cp,./src/Mod/Import/App/SCL,./src/WindowsInstaller,./src/Doc/FreeCAD.uml
```
2020-04-20 12:59:09 +02:00
carlopav
854687fd6f [Draft] Further cleanup of the branch
thanks to vocx revisions
2020-04-20 12:38:06 +02:00
carlopav
e68bf521f6 [Draft] Snapper cleanup
Cleanup after @vocx-fc review
2020-04-20 12:38:06 +02:00
carlopav
113c699ada [Draft] Snap improvement and statusbar cleanup after rebase
[Draft] Attempt to make base classes compatible with super on py2


[Draft] Refactored imports of snapper and snaps gui tools


.


.
2020-04-20 12:38:06 +02:00
carlopav
5b027dfa23 [Draft] Statusbar widgets, preferences to disable draft statusba
.


.


.


.
2020-04-20 12:38:06 +02:00
carlopav
cd1f2df6e9 [Draft] rough implementation of new preference dialog for interface 2020-04-20 12:38:06 +02:00
carlopav
77c385631b [Draft] Added Draft Snap Statusbar
.
2020-04-20 12:38:06 +02:00
carlopav
78a5036048 [Draft] Improved Snapper Toolbar Behaviour
Changed snap toolbar behaviour:
- create a list of available snaps (Gui.Snapper.snaps)
- make it consistent with Snap Gui Commands (in gui_snaps module)
- create a list of active snaps (Gui.Snapper.active_snaps)
- refactor the isEnabled() method to allow it to check if the given snap is in Gui.Snapper.active_snaps and not if the snap toolbar button isChecked()
- updated and reordered the new list of gui snap commands in draftutils.init_tools and used it as a base to refactor the creation of draft toolbar
- updated all the draft snap gui tools to make them control the toolbar buttons directly
.


.


.
2020-04-20 12:38:06 +02:00
Yorik van Havre
d51363fefe Draft: Annotation styles editor 2020-04-17 18:51:30 +02:00
Yorik van Havre
419b99bc38 Draft: [WIP] Annotation styles editor 2020-04-17 17:18:52 +02:00
vocx-fc
5b677151e6 Draft: move array commands to DraftTools
Previously they were imported directly in `InitGui.py`,
now they are collected in `DraftTools.py`, so that they
are imported at the same time as other modules.

Also provide an icon so this icon appears in the menu.
2020-04-16 11:40:58 +02:00
vocx-fc
6b659cfcc2 Draft: move AddPoint and DelPoint to gui_line_add_delete module
These two Gui Commands were inside `DraftTools.py`
but they were considered obsolete as they just call `Draft_Edit`.
They were completely removed in 8f07732c46 and 15de58a5be.

They are restored in this commit and placed in their own module
just for historical reasons; however this module is not imported
in `DraftTools.py`.
2020-04-16 11:40:58 +02:00
vocx-fc
b5aa88fdbc Draft: move Draft_Arc_3Points to gui_arcs module 2020-04-16 11:40:58 +02:00
vocx-fc
31ca5dd812 Draft: move Draft_AddConstruction to gui_groups module
Also add a new icon for adding to the construction group.
2020-04-16 11:40:58 +02:00
vocx-fc
8640697107 Draft: move Draft_AutoGroup to gui_groups module 2020-04-16 11:40:58 +02:00
vocx-fc
125008c5e8 Draft: move Draft_Slope to gui_lineslope module
The class name was renamed to `LineSlope` as it is fundamentally
inteded to control slopes of lines.
2020-04-16 11:40:58 +02:00
vocx-fc
91c75b03f7 Draft: move Draft_FlipDimension to gui_dimension_ops module 2020-04-16 11:40:58 +02:00
vocx-fc
28e2e20a00 Draft: move Draft_Heal to gui_heal module 2020-04-16 11:40:58 +02:00
vocx-fc
df3a06399b Draft: move Draft_ToggleGrid to gui_grid module 2020-04-16 11:40:58 +02:00
vocx-fc
78c276e2a2 Draft: add base class for Snap commands 2020-04-16 11:40:58 +02:00
vocx-fc
a1f6a7f6e0 Draft: move Draft_ShowSnapBar to gui_snaps module 2020-04-16 11:40:58 +02:00
vocx-fc
eca1c75056 Draft: add correct docstring to old Array tools
Previously they mentioned incorrectly the Shape2DView tool.
2020-04-16 11:40:58 +02:00
vocx-fc
631f74d8fc Draft: move SelectGroup command to gui_groups module 2020-04-16 11:40:58 +02:00
vocx-fc
a0f9df523a Draft: move AddToGroup command to gui_groups module 2020-04-16 11:40:58 +02:00
vocx-fc
02189fa973 Draft: new utility toolbar with some useful commands
These commands are useful but are "hiden"
inside the "Utilities" menu, so not many poeple know about them.
By placing them in a toolbar, they will be more discoverable.
2020-04-16 11:40:58 +02:00
vocx-fc
5acb94984f Draft: move DisplayMode command to gui_togglemodes module 2020-04-16 11:40:58 +02:00
vocx-fc
e3154fccb2 Draft: move mode commands to gui_togglemodes module
`Draft_ToggleConstructionMode` and `Draft_ToggleContinueMode`.
They call a base class `BaseMode` which also uses the base
`gui_base.GuiCommandSimplest` class.

Also add a new icon for continue mode.
2020-04-16 11:40:58 +02:00
vocx-fc
1b8e9d5cb8 Draft: move line GuiCommands to gui_lineops module
The commands `FinishLine`, `CloseLine`, and `UndoLine`
are moved from the huge `DraftTools.py` to `gui_lineops.py`
to reduce the complexity of the former file.

These GuiCommands aren't actually used presently
in the Draft Workbench. They were used in the past
particularly from the context menu when editing a Line object.
2020-04-16 11:40:58 +02:00
vocx-fc
1970b6c3c9 Draft: GuiCommandSimplest to serve as base of simple Gui Commands
This class defines the `command_name` of the command,
so that it is output to the report view, and is also recorded
in the log file.

It also stores the current document so it can be used inside the
command.

The class implements with `IsActive` method so that the command
is only active when an active document exists.

Also `GuiCommandNeedsSelection`, which subclasses the former
class. It reimplements `IsActive` in order to be available
only when there is a selection.
2020-04-16 11:40:58 +02:00
vocx-fc
b3abe7efe9 Draft: update InitGui with context commands
The `ContextMenu` method defines commands that will be listed
when right clicking and opening the context menu in the 3D view
or the tree view.

This sets up the line GUI commands when either a line, wire,
polyline, spline, or bezier curve is active.

However, this currently doesn't work at all for unknown reasons.
Maybe some other functionality in the internal C++ code
needs to be changed first.
2020-04-16 11:40:58 +02:00
carlopav
db9134630a [Draft] Cleanup splitted annotatation objects
- corrected super() methods to be Py2 compatible
- further cleanup of the code.
further cleanup


changed again to avoid super method


updated super() functions


updated to correct the parent classess targeted by super()
2020-04-16 11:37:10 +02:00
carlopav
00c0de6871 [Draft] Removed annotation styles objects
Removed Annotation styles current implementation.
As pointed out by yorik, in https://forum.freecadweb.org/viewtopic.php?f=23&t=44051&p=385710#p385179, this feature will be added using document Meta property.
2020-04-16 11:37:10 +02:00
carlopav
78f740807c [Draft] Dimension styles improvements
Dimension style property is auto-set on dimension creation.
Further improvementes in DimensionStyleContainer.
.
2020-04-16 11:37:10 +02:00
carlopav
a4f7bc43f6 [Draft] Cleanup of Annotation style branch
Further cleanup and guarded imports of Gui in modules.

.
2020-04-16 11:37:10 +02:00