Re: editor settings list



On Fri, 24 Aug 2001, Dirk Vangestel wrote:

> 
> --- jeroen <jeroen xs4all nl> wrote:
> > Hi Dirk,
> > 
> > On Wed, 22 Aug 2001, Dirk Vangestel wrote:
> > > I think you're putting too much functionality in
> > the
> > > editor. The things you put in 'display' are more
> > > suited to be put in an editor interface than the
> > stuff
> > > you put in 'editor'. Putting too much
> > functionality in
> > > the editor interface will severely limit the
> > choice of
> > > editors (for example vi will have lots of problems
> > > implementing the stuff in display, let alone the
> > stuff
> > > in editor).
> > > But that's just IMHO of course :)
> > 
> > I think you're still thinking about the "old"
> > situation. The current
> > situation for properties is this:
> > 
> > - Use bonobo-conf (bonobo-config in GNOME 2.0) for
> > settings
> > - Separate editor settings from the rest
> 
> <rant>
> 
> I know. I actually wrote the TODO file, and was going
> to write the properties stuff until Real Life
> interfered...
> 
> > Bonobo-conf allows you to put all your settings in
> > the Bonobo component
> > itself and also to put the actual GUI for
> > manipulating those settings in
> > there too! This is how it works: gIDE queries the
> > editor component (in
> > this case scintilla) for the PropertyControl
> > interface. With that interface, 
> > bonobo-config is able to create a settings dialog
> > (bonobo-conf only
> > creates the dialog with notebook, all the actual
> > contents comes from the
> > scintilla component).
> 
> Doesn't change my concern. I'll try to explain it
> differently: if the writer of the specific editor
> component (be it scintilla, emacs, vim, ...) is
> totally free in specifying the properties box, all of
> them will be totally different. Hence I would prefer a
> split in settings that are generic for all editors
> (like tab settings) and settings that are specific to
> the editor in question (like code folding). Ideally,
> the generic settings would migrate over the different
> editors (if I change the tab settings for vi and later
> switch to emacs (like that'll ever happen :) I want to
> see the same tab settings).

The problem you talk about is inherant to component architectures. You can
only demand so much from components in a component architecture such as
Bonobo. What you want is to have a consistent UI. I really don't think
this is possible. Not everybody cares as much about GUI development
compared to actual functionality. And not everyone uses the same style.
I agree however that you want some sort of grouping in the preferences
dialog. I've tried to do that with the list i sent. Please comment
directly on that list (which options do you consider "generic").
 
> > When you modify any settings, bonobo-conf
> > immediately notifies all
> > instances of the scintilla control that the setting
> > has changed (you're
> > also supposed to be able use an "Apply" button, but
> > how to do that is
> > currently unknown. So for know, all settings are in
> > "instant-apply" mode).
> 
> If you haven't yet, read the gconf documentation. It
> explains very well what should be possible from a
> settings dialog. One of my main problems with PoNG is
> that it does not implement this, and by the look of
> things bonobo-conf(ig) is even worse.

I'll try reading that asap. I don't understand what you mean by
"bonobo-conf is even worse". 

> > The end result is that when you change a setting in
> > gIDE and you also have
> > a nautilus window open browsing source code with
> > scintilla, the setting
> > will also immediately take effect in nautilus.
> 
> I for one would absolutely hate that 'feature'. I have
> to use different code styles for different projects,
> either because they are imposed or because they are
> simply in a different language. If I have to inspect
> code written by someone who uses 4 spaces for tabs, I
> want to be able to change those settings for just that
> file or project, not for all instances of my editor.
> The multi-language situation is similar. Are you
> planning to make the settings depend on the file type?
> I think they should be.

This "feature" is inherant to using the underlying GConf system. The only
thing that is different in this case is that bonobo-conf actually listens
to changes to the component's preferences in GConf. Most applications
today would only notice the changes when they're restarted.

How would you differentiate between the current tab size or the
system-wide tab size? I think the behavior you want only comes from the
fact that current applications only apply settings on startup (while
bonobo-conf listens continuously for changes).

I agree that you want to be able to temporarily change the tab size for
only that window, but i don't see how we can accomplish that with
bonobo-conf.

Plans for language-specific settings have not been made (there has been
some discussion between myself and jpr & campd and they think we should
just have a single setting that would apply to all languages).

> > Using this mechanism, you've separated the editor
> > settings from gIDE.
> 
> That's ok for the settings, not for the GUI. You don't
> want a dialog for the editor settings, and a dialog
> for each plugin, you want a single preferences dialog.

Maybe i wasn't entirely clear about the other settings: the remaining
settings (project, debug, plugins etc.) would all be contained in 1
dialog. The idea is that each plugin has 1 preference tab.
The only problem with the editor settings is that the scintilla
component will probably have something like 3 or 4 tabs (at the least). So
if these settings were to be displayed in the general preferences dialog,
the dialog wouldn't be usable anymore (JBuilder uses the same principle
btw).

> > Using bonobo, you were never able in the first place
> > to predict which
> > component a user would use to edit source code.
> 
> That was the whole idea of using bonobo :)
> 
> > AFAIK, there is also no Editor idl. Please correct
> > me if there is.
> 
> ? If there is no interface for the editor, how is gIDE
> going to know how to use it? See gdl/idl/*.idl

I only looked in /usr/share/idl. There doesn't seem to be a lot of editor
idls there. I *think* gIDE just queries oaf for components that can
display the specified MIME type.

> > I also think the other settings (plugin settings)
> > can also be best done
> > using the PropertyControl interface.
> 
> That was not the issue. The issue is how to combine
> all the settings into one single dialog which looks
> acceptable. That's probably not an easy problem to
> solve...
> 
> > Hope this clarifies things,
> 
> No really ;)

Then i hope this one does :)

Jeroen





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]