Object Graphics Frontend Alpha1

Bill Denney <[email protected]> Tue, 16 May 2006 09:54:54 -0400 (EDT)
Newsgroups gmane.comp.gnu.octave.graphics
Message-ID <[email protected]>
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--8323328-1504231197-1147787694=:14189
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed

I now have an alpha-quality version of the object graphics system.  It is 
currently a front-end only (i.e. it won't actually make a plot for you 
now), and so it's really probably just ready for backend developers. 
Also, it's currently very slow taking about 30 seconds to create the first 
line (on cygwin which is probably exaggerating the speed issues), but that 
appears to be an initialization problem because subsequent creation takes 
only about 2-4 seconds.

I have currently only tested the creation of a line, but with all of these 
disclaimers it is relatively fleshed out.  It can create objects with 
validation of the object as it is created and as properties are set using 
the set command.  It can create figures, axes, and lines.

I made every effort to minimize the number of functions that touch the 
internals, and I've come down to this group:  __uiobject_create_object__, 
__uiobject_grow_list__, __uiobject_handle2idx__, __uiobject_move_object__, 
delete, get, ishandle, and set.  My guess would be that rewriting these as 
C++ functions would gain the largest speedup (but this is just a guess). 
It would also allow for the handles themselves to be put into a type that 
would minimize user interference with the internal variable structure 
(currently, it's implemented as a global variable that is a cell vector 
containing structs).

Having created at least the beginning of an implementation, there are a 
few more changes that I'd like to make:

Introduce object linking:
Essentially, this would allow you to copy objects or properties 
automatically from one object to one or more others.  This would be 
handled by the frontend and it would allow the removal of the legend type 
because the line, patch, etc. properties could be automatically inherited 
from one object to another.  It would also allow for cleanup of objects 
kept in the legend because it would allow for the pseudo-linking that 
we're doing now to be done away with (the label objects could be removed 
from the line and patch types).

Remove the legend object:
It is really more like a separate axis that is a child of another axis-- 
let's treat it that way (after introducing object linking).

Make the group type more flexible:
I don't want to have to make every type of graph imaginable (bar, pie, 
candlestick, etc).  More importantly, I want the users to be able to 
(relatively easily) create their own plot types.  Groups are an obvious 
way to do this.  Group already has a "type" attribute that is always 
supposed to be the string "group".  I'd like to add three more fields: 
"GroupType", "ModificationCallback", and "ExtraData".  Grouptype will 
allow for backends to understand the group's type better (barplot, 
pieplot, etc could be values of grouptype).  The ModificationCallback 
would allow for the validation and creation of the child objects upon a 
setting change (it would also require the creation of a currentcallbackobj 
field in the root object which would function as a stack).  The ExtraData 
field would allow for the storage of the data necessary for creating and 
maintaining those object types.

If we allow groups to be more flexible, we should also allow for new user 
plot types to be registered in some way.

Bill

-- 
"This is perfect -- naked ladies, candy, and corporal punishment. All
wrapped up in one cautionary tale. What could be more guy?"
   -- Jon Scieszka, Guys Read

--8323328-1504231197-1147787694=:14189
Content-Type: APPLICATION/octet-stream; name=object-graphics-20060516.tar.gz
Content-Transfer-Encoding: BASE64
Content-ID: <[email protected]>
Content-Description: 
Content-Disposition: attachment; filename=object-graphics-20060516.tar.gz

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
dSz9rW7tK/yvMJn+lha6QK4laXW27jJOMam7ZQg4cbe/Jk13lTVi+aR4Z/7N
a+Q/y7buaTLgpvxvLwaF+/+zfuP/e5Cnkf8a+a+R//Yu/+Xtki2fCrwOj9AM
LuX+UiAVTP07jEfB24JB2uN22V+qW1BlBO7kg/lUpYMp2ZnyGB3hB9UaMMgE
o4LD9Cg+Cso16lW1eTdCRoEuawp9bHAqmARD1AFQ24bqX6ri+g66QOi01OZP
oyTLP7opb7+6phZVKm90GcuUj2zc65bSip+v/a+v3mPEEnf/lwhpe61jw/5/
Dtu+s/+f9QaN/ucgz8b7v2bfb/b9Zt9fu+9zyEFW9dwrxc5Kq3tYu7PBdXM9
jod9IhtudjbdZ4P3Xdl6RCJmcQG5CzI3qrmGokGlNJZ+h8ClCboJIB6TtjdI
VSI+z3s5g9UgAo57E8xWXQrYgfXg4oaxc8X7k+oTpVqp0yrXTctLMIGZUu7Z
ylhp3oxGyqmUPSjIr1R6Cc2SjIIiU8Bssbu/SYK01/q8K6lQXTtUObIiKuRy
sqLAi6ukLR1aHTQeU1r2DNNoOQ8SWCtyjlboy4nh41j9UgY0qAN0+mj0bnQV
y1EmtXdVyo4hHDYSyc/hIRMMwDzkkabi7CWNOx9GvuMwj7b3lwp1J/EePauV
YoKXo4L5o32qzfzMy46lhDPC+Sn1t6yXZ49aOZdrqP7j7eWjCcbXenDaeGp/
NBFZPQu/BWDCuNoAj1dWA7btp6Voq9P+d9XEQXkTuVBOh+fgyDfUfIK/HnNT
QXGh7wSZ5snKKwMBhKwvzS1EsDsfa7Wo+iJZbAT519/88MUlbePDeA6oQxBc
wwwWqztAOYniRI5DdCbBbRsz88l5ScViwlx9beIneOtxfiOY4JJi3JcU40rT
zkMIkIo0m9zQJb6xiZLU9RRWnU8xT0L3MKaVpKrctPM+D1G/4sc9/02G4z2f
/jbrfwcXL5zz3+nZRb85/x3iafS/zTmwOQfu5xwIa2cxxXd+lxYZfTutLoWq
Y9zHFdm7c9Hscjm7W5YgaeIPamERmVBCrdB4+hyCRFqrhJLUhMohj2r+bFDI
QatKdlESCsNPKYYA4W9vuhjlbjfBnd/Zs87+b5nFFJX+BmXPJ1wCb9j/X5ye
FeL/nfUGzf5/iGej/rfx/2j8Pxr/j6f4f7jrKEdPNrpKHULOIygOAaTzBjtR
9fbjBlLeJCtkVnuqY3W1fzahzjjDfVcS3K8J+uZWcJlz/tUmdYRlQ+BmdpFY
JPGtj1mYTQDnEbp+EImU/Ru6aqvufqDugLWZI96wA6cugowiyp2UxL67p4TO
0nGr1/kk313JxW1cGkRDgisF6k4oKzQPpgaRLn0bJFN/gQZ6agJx7aFKHE3B
vzgLm2J01SbCQ0C3wZjmZUxGgRTSCcrdxclrhlMam2Jy9M6VFT/KCjyHUl2h
2cWIToJQB/2ZDjfpeigniQrnc2TlCFGqn2nJR7Gv7KIbxwD+0BVjGOgyZCbh
yCsDiblurkugVQYXgB5c9EoASvLXoLaKNsmyvhSyqyD0PByZuOT4lOmvoPPT
YbckB7sV32hdZCgYuVUFz65+tTzrJp1/Ms+ufuk82/Nsri3j2cOzpDsKW7Dk
QwVLPvxqWfJh3yz58L5Y8qE2SyJTKuhfBku6o7COJZtAFbWeNed/26HxSXcC
m/T/Z2eu/v/i7LSx/zrI0+j/G/1/o//fu/133hlc5X1yrgY4xLawS8EuGeiZ
oBFKDDsaBz0griLE2t1vuqWB+Aav9ekGQ3EqzY5V+WuIfscR0HCekzR1G/BB
nZgpGI/DYQhb/2z1p1LRCFvAcgDUhcLwJ96mKOMSYhtbwVmCLIlgg6+V2/nf
4D3DOv8vNfZPNQjYIf5Tr9n/D/M0+3+z/zf7f+n+/9JKUjLEc24YKcNbYz2H
OWpgjyFLUjXyyq+Zhvh1ECxSL0v84WuEv4NVVhn76YijFFGcc3CEiVL4cwSb
k2NehiudimBjtkN9VoGJMd/fUUWRy32T5bOOrHNf6ltuS721jk59yy2qf+V5
x7KnOlRFdiaW+dtXiiRAt8+UibNPQs0soD+ExhT3VRlYC4JQpR7Ceb9OjQJA
WDwX/RQ1PLDFCXu/tFJ2m+gLNIsx8Ccl6tHJvDHgLVTom5hZs/A1cSabN3Tp
gqMLbyP4HWTDkw4vBDRzJJ+Cj8FxQcahhaPQOjugLHBlBS9sYgI1+rWH/Abt
mUvDxHJTyHDDHlOJ9JsbSibbKKZ4UdRlVlaluFDdTePUvMCviIjoy2MyAk6g
zQb+z6smMi3OJiC4iomhagJsUhFiydUlq/xtMPSX7ApIwcpUQLM49wne32Eg
/3hOzeGLrdGSUrOr3AXQri/SFHCHmPKpy1IuJwdo45oPLZ2tOt4iweU7U9sQ
zTpcVCd+couC6DCezQLimtJxlWSSMLTvdv935T8MjkvGOns0At1o/9l39T9n
52eN/edBnkb+a+S/Rv7bj/5HrZ2lCp8+akxUgka6nVJrrvbbQl4RQdNkADvO
m1f2TG7o7TQ/SZBxXHPTymmJPakocjR0207Njc5HfJ0nziBTnTEafih703ws
dKV2sav9DepZfqmPu/8PZyCXJcH/HHL/7/XPC/v/6Ytm/z/E0+z/zf7f7P/7
2f/V2qki/uCfpX4Q2+zbNtIq7w8GQm9I9JYo338tPM322zzqcfd/PxoGMDOS
A+7/Z4ML9/4Hzv/N/n+Qp2z/b/w/Gv+Pxv/jaf4fah3VugAJPEM59zoOgtKY
N2sx4Lk7XsyAP2YtxsZqhpTlDdzrMYO0QhEb1QMzJOkfKFGHwcmuJUBqgxoB
MQxKOA4xeV+GEWiAmROrrjGsBFO7Mpl7XAtCFOqR8TTNw+UCh455QZdhTORw
IjnprWR+TEIVmtqfzThq9u7uMVrlYQg/1SnkoO9Ck45JZ2IC4fRzsZ4xTouY
9irpy8LZuXISiPxMpsc5RYvrWaOKX3pTKx61Di6cx6bCXOs8elW4VG4/g1HH
tS5ady+SGKNRi+ES5mA0EXQ0SbStt6KWw6fYDvU3XQ3mE25Yn3puE5hB1Ac9
WK+u6W8yoJ5eeSZwExMHv91NcTEBwhAKacV0oTymybJYzKiVPfFCch4ywEJr
ua50Omzd0wWzhyK2MmPWDZwuKpK3j2BajSgBCie4QSupSvQtvHdraexQnKJB
3eHSizfQ+kqPLrE+whwtd3SdhcTFBXMSq7KKkH0rXT0zjib/73/v/WxuE7kr
HbtyajS2+KNM7pNxr1bFUU8JfcI7TqoLr9M4Szb11MJj+lzSLiuzNw1hY9X9
Dp5C/JcgO3T8l7PT3pkb/+W819h/HeTZKP83er9G79fo/dbHfUEpIS+kL2qF
tbQLusbhkT8PRiZdi2A1pk/u7aFtDv7VWMMDj8bzMMtQfLeSbGNsOPJt0xWQ
SQ2Ofk278vKwkVrsUdeDCv/mCOTV0vSgk48zWcBdTMSCU5dj2RmZOicFA45L
lT88l6XDYNlkKo/QnDulaD4FQI9ubHXKCWPF4mEpXXdC51YJVpiWObayatN3
K7MKHcn8Gbeb0jJCn9RLsSuT1Shv56Uqb09Ze+xIerCWsbU9tAFkzpMWHESO
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

--8323328-1504231197-1147787694=:14189
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Octave-graphics mailing list
[email protected]
https://www.cae.wisc.edu/mailman/listinfo/octave-graphics

--8323328-1504231197-1147787694=:14189--