List Info

Thread: SearchBar patch




SearchBar patch
user name
2006-09-29 14:44:41
Hi Rafael.

Inline.

On 9/28/06, Rafael Teixeira <monomangmail.com> wrote:
> Hi Jacob,
>
> inline
>
> On 9/28/06, Jacob Ilsų Christensen <jacobilsoegmail.com> wrote:
> > Hi.
> >
> > On 9/28/06, Rafael Teixeira <monomangmail.com> wrote:
> > > HI, inline
> > >
> > > On 9/26/06, Jacob Ilsų Christensen
<jacobilsoegmail.com> wrote:
> > > > Hi.
> > > >
> > > > > > * Each open document has its
own search bar. Do we want this?
> > > > >
> > > > > I don't think so. Like in FireFox,
the search text and options should be
> > > > > global, and shouldn't change when
you switch documents.
> > > >
> > > > I am not quite sure how to do this. The
> > > >
MonoDevelop.SourceEditor.Gui.SourceEditorDisplayBinding
class is used
> > > > as a DisplayBinding for text files. How
do I make several instances
> > > > share the same SearchBar?
> > >
> > > Make the searchbar a global dockable panel
that appears/hide when the
> > > active DisplayBinding exposes some searching
service (implements some
> > > interface that does the real
search/positioning).
> >
> > Yes, I also thought about making the
DisplayBinding classes implement
> > some interface. E.g.:
> >
> > public interface ISearchable
> > {
> >   void Find(string stringToFind);
> > }
>
> Probably you need to pass also some 'options'
parameter, for things
> like case-sensitivity of search, wrap-around,
direction, etc...

Yes, those options will need to be passed as well. The
example above
was just a simple first case.

> >
> > I am not sure what you mean about positioning.
>
> I mean scrolling the text to the point where the found
text is, this
> should be the DisplayBinding responsability.

Yes, that would be the responsibility of the DisplayBinding.

> >One could extend the
> > interface with e.g.:
> >
> > void ShowSearchWidget(Widget searchWidget)
> >
> > It would then be the responsibility of the
DisplayBinding to decide
> > where to show the widget.
>
> No, I would go that way. As I said, I prefer a global
dock so that
> irrespective of the DisplayBinding, except for
implementing
> ISearchable, it shows where the user wants it to be
shown, defaulting
> to above the bottom dock that normally contains the
> tasks/results/output/etc... pads. This is the way it
works on Firefox,
> except that firefox doesn't allow the user to drag it
to another dock.

Yes, the other way around is the best way to do it. I just
did not
know how to make it appear just below the active
DisplayBinding. How
do I best make it appear right below the Gtk.Notebook which
holds the
DisplayBindings? I mean, what class represents that
Gtk.Notebook?

> >
> > So hitting Ctrl+F would look at the current
DisplayBinding. If it
> > implements ISearchable. The SearchBar widget will
be given as argument
> > to ShowSearchWidget. Hitting search in the
SearchBar would invoke Find
> > on the DisplayBinding.
>
> Well, I think that maybe the whole 'Find' action
(Ctrl-F shortcut
> included) should be disabled, if the DisplayBinding
doesn't support
> ISearchable. So when the action is activated (by any
means, including
> from the Menu or some toolbar button click) one can
just show the dock
> and look for the currently active DisplayBinding.

I agree. Ctrl+F (including menu item etc.) should do nothing
if the
active DisplayBinding does not implement ISearchable.

> Another issue: My translator displayBinding probably
will have to add
> some option to  the search bar (a checkbox for whether
the search is
> limited to the string currently being edited, or along
all the strings
> in the .po file), so some search bar contextual
extension concept also
> need to be devised/implemented.

That probably won't be included in the first version.  But I will
keep it in mind.

> > But what should happen when changing to another
DisplayBinding? Should
> > the search widget then be removed from the
previous DisplayBinding and
> > added to the one now active?
>
> That is why I want to avoid it being in the
DisplayBinding itself, but
> host in a separate dock panel.

I agree. 

> >
> > The reason why I would like the DisplayBinding
widget to decide where
> > the SearchBar should go is that I would like it to
appear right at the
> > bottom of the source code. Like in e.g. Firefox.
>
> The user should decide where it wants it, maybe even
docked with other
> pads. But nothing, AFAIK, prevents it from being
docked, by default,
> just bellow the center panel where all display bindings
appear.
>
> > What do you think?
>
> I hope I've clarified my vision of it.

You have indeed.

> Sorry I don't have time just
> now to prototype the whole thing to present it in a
more consistent
> state.

That's perfectly ok. I really appreciate your input. Thanks!

> Feel free to ask any other details if you need.

Look above. 

/Jacob

> Also everybody can
> toss your thoughts on the subject, they are welcome.
>
> 
>
> --
> Rafael "Monoman" Teixeira
> ---------------------------------------
> "The reasonable man adapts himself to the world;
the unreasonable one
> persists in trying to adapt the world to himself.
Therefore all
> progress depends on the unreasonable man." George
Bernard Shaw
>
_______________________________________________
Monodevelop-list mailing list
Monodevelop-listlists.ximian.com
http://lists.ximian.com/mailman/listinfo/monodevelop-li
st
[1]

about | contact  Other archives ( Real Estate discussion Medical topics )