]> Shamusworld >> Repos - architektonas/blobdiff - TODO
Updated the TODO.
[architektonas] / TODO
diff --git a/TODO b/TODO
index 9bbbe206b18db3d8d5c95ff1dc7b9b3139ae923f..17016169a739cce9afcdbf66a6683538571cb696 100644 (file)
--- a/TODO
+++ b/TODO
+
 Stuff To Be Implemented/Fixed
 -----------------------------
 
- - Add Arc
+ - Add Polyline
  - Add Polygon
  - Add Ellipse
  - Add Spline
  - Add Text
- - Manipulate Dimension
- - Object connections
- - Group selection (kind done, needs more work though)
- - Take movement code out of Objects and put it into top level Container
- - Add OSD routines so they don't have to be implemented in Objects
+ - Object connections (two types: flexible and rigid)
  - Add OSD to Object creation
- - Add layers
  - Add blocks
  - Add page layout
- - Add pen color/style/width to Objects
  - Add fill/hatch to Objects
- - Fix zooming to be more intuitive
  - Add other Dimension types, like radial, diametric, leader
- - Mirror tool
- - Restrict movement horizontal/vertical tool
- - Trim tool
+ - Restrict movement horizontal/vertical tool (keyboard shortcut?)
+ - Trim/Slice tool (to be able to click on a line segment crossing another, and
+   remove it and it only, or to cut the entity at other entities crossing)
+ - Add "slice" mode (prob. with SHIFT down) to trim tool.  Two modes: 1st,
+   slice hovered entity by all objects that intersect it; 2nd, draw a "cut"
+   line that divides all entities that intersect it (analogously, trim mode
+   does similar, but after defining the line, you have to move the mouse to one
+   side or the other of it, then click to trim everything on that side).
+ - Make Architektonas an MDI application
+ - Add page viewport stacks.  These would outline "pages" to be printed that
+   are simple views of a given size at a given point with a given zoom.  Normal
+   behavior would be to simply print the entire document if there are no pages
+   defined.
+ - Need to turn off handles (dimension, circle, arc, etc) when not in regular
+   mode (for delete, marker, dropper, etc tools)
+ - Fix stamp tool to not respond to handles of any kind (they currently respond
+   to dimension handles)
+ - Convert line segments/arcs (connected) to polyline
+ - Add trim/slice against circles/arcs too.
+ - Add cursor for delete tool
+ - Add command lines for all tools, not just parallel
+ - Add ability to rotate/scale polylines with appropriate handles when
+   selecting one (when scaling, the default should be to keep the aspect ratio,
+   overrideable with a keypress)
+ - Set window viewport to show whole extents of drawing on load
+ - Need to set a different color/style for hovered objects vs. selected
+ - Add ability to alter object parameters in the object dock
+ - Fix dimension extents to report their size correctly (they currently don't)
+ - Add ability to select more than one point in a stack of points, especially
+   at endpoints.  Probably with a keyboard modified like SHIFT.
+ - Finish adding tangent snap everywhere
+ - Add fillet tool
+ - Add ability to make dimensions have no extensions (currently, there's a
+   minimum extension line at all times; this is easy to set to a default with a
+   zero as a possibility).  Maybe give the default extension lines IFF one of
+   the clicked on points is an endpoint, otherwise just do zero.
 
 
 Stuff That's Done
 -----------------
 
+ - Be able to show dimensions in pure inches as well as feet & inches [Shamus
+   2021]
+ - Add command line tool [Shamus 2021]
+ - Parallel tool (be able to make copy of object that's parallel to original)
+   [Shamus 2021]
+ - Add ability to click through object stack, especially at endpoints (mouse
+   down to select, skip to next object on mouse up--mouse down allows user to
+   select the object so selected) [Shamus 2021]
+ - Fix Arc manipulator [Shamus 2022]
+ - Add Drawing Properties dialog (separate from Application Settings) [Shamus
+   2021]
+ - Trim tool [Shamus 2021]
+ - Fix zooming to be more intuitive [Shamus 2021]
+ - Group selection (kinda done, needs more work though) [Shamus 2020]
+ - Take movement code out of Objects and put it into top level Container
+   (actually I think this should be more of the state code handling. Have to
+   see.) [Shamus 2015ish, whenever C++ OO was ditched]
+ - Add layers [Shamus 2015ish]
+ - Add pen color/style/width to Objects [Shamus 2017ish]
+ - Fix loading and saving code [Shamus 2016ish]
+ - Manipulate Dimension [Shamus 2014-03-20]
  - Fix snap to grid to honor both states (right now, it's a weird mix of states)
+   [Shamus 2013-08-11]
+ - Add Arc [Shamus 2013-08-14]
+ - Fix snap to grid to allow picking up of handles when they are not on a grid
+   point. [Shamus 2013-08-18]
+ - Add OSD routines so they don't have to be implemented in Objects [Shamus
+   2013-08-24]
+ - Mirror tool (started, needs actual mirroring implementation) (Rotate tool is
+   also done :-D) [Shamus 2013-09-01]
+
+
+Things to Ponder
+----------------
+
+Grouping items on different layers currently makes the items *not* on the current layer disappear.  Not sure how this should be handled...  Maybe we should honor the top level Container's attributes, and not the attributes of the contained objects?
+
+
+Bugs
+----
+
+ - Pen marker doesn't set attributes on the highlighted part of the group.
+ - Dimension lines extents aren't properly taken into account when printing (or
+   anywhere for that matter)
+
+ - Add new dimension doesn't honor the scale parameter set by user [DONE]
+ - Dimension object prevents system from finding intersections when near or on
+   object intersection [should be DONE]
+ - Can't move objects to other layers [DONE]