]> git.sur5r.net Git - glabels/blob - glabels2/TODO
Added "pointer_exit" signal.
[glabels] / glabels2 / TODO
1
2 Development plan
3 ----------------
4 This development plan sets a specific set of milestones for future
5 versions of glabels.  Although subject to change, milestones leading
6 to version 2.0 are fairly well defined.
7
8 Basically the goal of version 1.90 is to port all current
9 features/capabilities to the GNOME 2.0 platform, clean up the architecture,
10 and create a bonobo shell.
11
12 The goal for version 1.92 is to improve several user interface capabilities
13 and add drawing capabilities.
14
15 The goal for version 2.0 is to realize the fully developed template feature
16 set, add tools for creating and downloading new templates, and add inline
17 images to glabels files.
18
19 The goals for version 2.2 and beyond is to add rich text objects,
20 add sophisticated text effects and support vector images.
21
22
23 Detailed Outline:
24 -----------------
25
26 VERSION 1.89:  Development testbed for VERSION 1.90
27
28 VERSION 1.90:
29
30         Architecture Design
31
32                 - Port to Gnome 2.0 Platform
33
34                 - Create a new SDI shell based on bonobo (no more MDI!).
35
36                 - Migrate to a more faithful MVC architecture:
37                         - Migrate models (labels, label objects, and templates)
38                           to real objects
39                         - Views should track models
40
41         Label File format changes:
42                 - <object type="text" ...> rather than <Text ...>
43
44                 - a label should include a template or "Sheet" tag instead
45                   of just the name of the media type, so that obsolete names
46                   don't render the label file useless.  this should be created
47                   and parsed by functions from the template module.
48
49                 - compatibility with old file formats
50
51                 - make sure that the format does not preclude the additions
52                   planned in future releases and that these additions do
53                   not break labels created with this version.  Namely, image
54                   filenames from merge data, inline images, object rotation,
55                   object flipping, text effects, and rounded rectangles.
56
57         Other:
58                 - Add preferences options:
59                         - object defaults (colors, line widths, fonts)
60
61                 - Support all paper sizes that gnome-print knows about
62
63                 - Recent documents
64
65
66 VERSION 1.91:  Development testbed for VERSION 1.92
67
68 VERSION 1.92:
69
70         Template File format:
71                 - Allow multiple layouts per label type.  This will support
72                   odd labels that are not layed out in a grid.  For instance
73                   one oddball label, or label laid out in a running-bond:
74
75                           +------+ +------+
76                           |      | |      |
77                           +------+ +------+
78                               +------+ +------+
79                               |      | |      |
80                               +------+ +------+
81                           ...
82
83                   This is not multiple label types per sheet.  (see below)
84
85                 - Add invisible markup to templates, e.g. folds or other
86                   helpful lines.
87
88         Other:
89                 - Status bar showing:
90                         - % Zoom
91                         - X, Y position
92                         - mode and parameters (size and origin during creation)
93
94                 - Undo, Redo capability
95
96                 - Image filenames from merge fields.  When adding inline
97                   image date in the next version, this capability must
98                   remain valid.
99
100                 - Drawing features:
101                         - object rotation and flipping functions.
102                         - configurable grid.  Also add a "snap-to" capability.
103                         - object alignment capabilities.
104                         - resizing of barcodes on canvas. (Must keep barcodes
105                           within "legal" limits)
106
107                 - Add rounding option to rectangles
108
109                 - Place property dialogs in a single dockable window (1 per
110                   MDI/app window).  Move dialogs associated with view,
111                   when a new MDI/app window is created.
112
113                 - Change label types on-the-fly.  This should probably be
114                   some form of property of the label.  Perhaps, a right-click
115                   away from any selection.
116
117
118
119 VERSION 1.93:  Development testbed for VERSION 2.0
120
121 VERSION 2.0:
122
123         Label File format changes:
124                 - external images should be put inline somehow so that the
125                   label file will not be rendered useless if on a different
126                   machine or the original image file is renamed, moved or
127                   deleted.
128
129         Features:
130                 - Create a druid for creating new label templates.
131                   As part of the druid allow test sheets to be printed
132                   and the new labels e-mailed to me (at the user's request).
133                   Include a mini-preview, as the label is constructed.
134
135                 - Along those same lines, create a druid to download new
136                   templates from a central repository, much like in GBonds.
137
138 VERSION 2.1:  Development testbed for VERSION 2.2
139
140 VERSION 2.2:
141
142         Template File format:
143                 - Allow multiple label styles per template. For instance
144                   a sheet may contain a CD label, and cover label.  This
145                   may cause problems for document merges -- labels could be
146                   considered grouped for document merges when their numbers
147                   match or they could have document merge applied to them
148                   independently but in parallel.  Arrange in a tabbed
149                   notebook, or as multiple canvases arranged in view?
150
151         - support for the import of vector graphics formats such as EPS or SVG.
152
153         - Make text items rich.  I.e. allow multiple characteristics to
154           exist within a single object.
155
156         - Text effects.  (follow contour, shadows, ...)
157
158
159
160 Odds and ends WISHLIST for future versions:     
161
162         - Ability to select/unselect individual records during a merge-print.
163
164         - Add additional "merge" backends.  Candidates include:
165                 vCard
166                 generic XML
167                 freedb (CDDB) for CD labels
168
169         - Capability to edit text in-place.
170
171         - Add facility for tweaking output (origin).  This should really be
172           part of the underlying print system but is currently difficult to
173           accomplish, so I may want to add the hack.
174
175         - Add a mini style preview for barcode properties (possibly text too?).
176
177         - Eye candy: Create a custom widget to replace spin buttons for
178           positioning and sizing that have arrows in the proper direction.
179           Really bad ASCII art:
180
181                 <-  X  ->
182
183                 ->||<-  W  |<-->|
184
185