More on the new CFEclipse Toolbars
I have been working on the new editor toolbar for CFEclipse over the last few days, so I thought I would post up some images so you can see how things are going. It is a difficult task as its a matter of sourcing a ton of icons for strange concepts such as "throw" and "catch" etc.
So without further ado... here are some of the toolbars (these toolbars can be switched off and on from the CFEclipse/Editor Preference panel by the way, so if you dont like them, you can just go right ahead and switch them off)
CFML Basic
This toolbar is pretty much complete (unlike a lot of the others)
CF Flow
I have put as many of the icons for this toolbar as I can, the strange
concepts for icons is the cfswitch, case, defaultcase as well as the cfif, else
and elseif. If someone has some good ideas, send them over if not they might
just stay as words
CFForm
I have to admit I havent put the icons here yet, but I am sure this wont be
too difficult in themselves as there are icons out there for each of these items
(especially since they are visual items rather than concepts)
CFC
The CFC toolbar is finished and I hope the icons there make sense to
people
CFDocument
The CFDocument toolbar hasnt been touched yet, but I have a bunch of
icons ready for this toolbar
CFML Advanced
Another untouched toolbar, I think I can get icons for most of these,
but differences between cfpop and things like cfapplication might be a bit strange
so I am still looking for good icons for these tags.
CFChart
This toolbar, again by its visual nature shouldnt be too hard but all suggestions
welcome!
The method I used to display these items is by using an XML layout file, in which you can add tabs, as well as items to the toolbar (so if you want more items, let me know!). Although this makes it easier to configure, the icons need to be added to the CFPluginImages class so that they can be referenced from other parts of the IDE if required (such as the Outline view for example).
I tried to keep the XML file simple yet with the ability to extend it to do other functions rather than just insert tags, to do this, I have (and this is still changing) set up two types of buttons, a cftag type and a custom type.
The cftag type of button just needs a value which refers to the tag that it will insert, the custom type button refers to the class that is called. This class is dynamically loaded and at the moment is geared to running actions that have already been set.
Here is a cut down example:
<tabs>
<tab name="CFML Basic">
<button name="CFParam" type="cftag" value="cfparam" image="param.gif" />
<button name="CFDump" type="cftag" value="cfdump" image="dump.gif" />
<button name="CFComment" type="custom" value="com.rohanclan.cfml.editors.actions.CFCommentAction" image="comment.gif"/>
<button name="Surround with Hash/Pound signs" type="custom" value="com.rohanclan.cfml.editors.actions.CFVariableAction" image="hash.gif" />
</tab>
</tabs>
Going forward with this I might add a cffunction type, and maybe a htmltag type so that we can have some basic html tags being added.