|
From: Nuklear Z. <nuk...@gm...> - 2009-08-19 02:43:35
|
i had an idea last night about the editor dialog. i keep thinking about it because that is mostly in my domain, so i will most likely be the one doing most of the work on it. (editor plugin i mean) if the editor dialog is built into the ide and make generic/realistic enough for most any decent editor solution, then all the extra editor specific stuff can be put in a different gui element. either a dialog that is brought up via a menu item added to the edit menu, or a notebook page that is appended to the editor dialog notebook. which solution should be dependant on developers preference and or the actual implementation. a few options can easily go into a notebook page, a more complicated thing or multiple panels should be in its own dialog. then we determine what options should go in what of three categories: core gray (or optional) extended extended is simply what is not in the other two. core is expected from any plugin anyone wants to add. syntax highlighting for example. gray is an optional functionality, like line numbers and code folding. i think that cursor past eol, eof needs to go into extended if the editor supports it. to my knowledge, scintilla doesn't support it at all. then dealing with the users settings, either: *a structure with the core and gray settings is passed to the editor plugin when the user changes them so that the editor plugin can just deal with all of the settings itself. *or the same thing, but the ide deals with the settings, but this looks like a little worse solution because it will take more plugin bandwidth. *or the settings are stored separately. as an unrelated bit, my xp went to heck on me a couple weeks ago and some one stole my installer cd. so i had to find xs's xp1 on the Internet again to make a new one. what a chore. and finish up with my backup/housekeeping stuff. finally done, very glad its over. just before i had that issue, i was working on XSTC, and i finally fixed an elusive bug in the configuration system. it kept crashing when it should not have been called at all. turns out i put the variable initializer below the config setup call in the constructor, all fixed yay! now i can get back to working on the next release of XSTC like i should have been doing this whole time. i am also going to work on the editor plugin/dialog issue in a test program. i'll create a mock plugin system to develop the api and do some brainstorming. when the plugin documentation takes more form i will keep the mock up updated so the api is usable in the ide. that way the current editor stuff can be sorted out later when a good, ready to use editor is already built. it will make things easier to keep track of. and keep my editor api updated on the wiki. do i have any major errors in thinking about this or is it a good idea? opinions? Nuklear |