Refactoring projects

From Inkscape Wiki
Revision as of 09:35, 12 February 2018 by Tavmjong (talk | contribs) (Created page with " {{DevDiscussion}} A List of Refactoring Projects = Little Projects = * Derive SPStar from SPShape (not SPPolygon), update 'object/README'. * Move sp-item-transform.h funct...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


A List of Refactoring Projects

Little Projects

  • Derive SPStar from SPShape (not SPPolygon), update 'object/README'.
  • Move sp-item-transform.h functions into SPItem.
  • Move sp-item-update-cns.h function into SPItem.
  • Move sp-item-rm-unsatisfied-cns.h function into SPItem.
  • Remove config.h code (or document why it is needed).
  • Remove macros.h (or document why it is needed).
  • Remove dependence on Glib::object in ResourceManager().
  • Simplify ResourceManager... it does only one thing: fix broken links.
  • In SPObject one can write:
   getRepr()->setAttribute("x", "y");

or

   setKeyValue( sp_attribute_lookup("x"), "y");

These are redundant and neither is really convenient. SPObject perhaps should have it's own setAttribute() function.

  • Rename helper-fns.h with a better discriptive name and move to util(?).

Medium Projects

  • Remove god-awful SPWidget (only used for selection).
  • Move most files in 'src' to subdirectories, add README for each directory with description of contents.
  • In toolbars, use dataKludge or data or tbl or holder ... but not all four! (Maybe combine with C++ify toolbars -- probably removed need for data.)

Large Projects

  • C++ify toolbars.
  • Convert verbs to Gio::Action's(?).
  • Add a one or two line description of what each file contains at the top of the file if it is missing.

Super Large Projects

  • Convert all GtkActions's and Gtk::Action's to Gio::Action's.
  • Convert GUI to XML files.
  • Invert 'y' coordinate system to match SVG.