Re: [anjuta-devel] Glade drag and drop



Hello,
                 في ح، 06-02-2011 عند 22:20 +0100 ، كتب Johannes Schmid:
Well, I was in the roadmap with a details page for over a year, I demo'd
it at GUADEC and I think it was also discussed on the mailing list a
while ago while making the new roadmap. Sorry, more open development is
hardly possible. Most of the work was actually done in glade(3) so the
anjuta code is less than 100 lines.
Sorry if I sounded a bit harsh, I didn't mean to questioning your open
development, I just wanted to bring this detail to your attention.
Ideally, I'd like to have anjuta support the "5 gnome key languages"
equally well (and, why not, other languages as well).

Anyway, I tried implementing this and found a problem (and another
problem in libvala): I'd like to trigger automatic indentation, and the
fact this is not in the same plugin complicates things.

The problem is that in vala, the signal could be dropped inside a class,
I'd like to correctly indent the generated handler.

Yes, I was aware that this is a problem for other languages than C. It
is the same for python, btw. The solution I though of was to add a new
interface, something like:

ianjuta_indenter_indent (IAnjutaIterable* start, IAnjutaIterable* end);

that is implemented by the language-support plugins that support
indentation. I think that is trivial to implement actually, just
something that needs to be done.
This seems ok to me, but I'm not sure what is the meaning of start and
end. What I was thinking about is something that would indent a given
line, and maybe return a position where to insert next. 

btw, I think it would also be a good idea for ianjuta_editor_insert to
return a position. I'm thinking about something like: 
* if current line isn't empty, insert a newline.
* if it's necessary, insert a CCode annotation (indenting before and
inserting a newline after).
* insert the correct method (again with correct indentation), and
opening and closing braces
* move the cursor where the user can start typing immediately (not that
it would be too painful to click, as the user is already using the
mouse).

(btw, the documentation comments seem to inconsistently use "cursor",
"caret" and "carat").


It is possible that some of the glade stuff should be common in
libanjuta but I am not sure yet. But if you feel that you are copying
code that is common, please mention it.
I don't see anything that can be in common, since the C plugin is using
introspection to find the signal parameters, and for Vala I'm going to
use the information from the parsed vapi.


Peace,
Abderrahim




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