Stuff To Be Implemented/Fixed ----------------------------- - Add Polyline - Add Polygon - Add Ellipse - Add Spline - Add Text - Object connections (two types: flexible and rigid) - Add OSD to Object creation - Add blocks - Add page layout - Add fill/hatch to Objects - Add other Dimension types, like radial, diametric, leader - 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]