* Re: tree widget
@ 2004-04-29 16:06 David PONCE
2004-04-29 23:48 ` Kim F. Storm
0 siblings, 1 reply; 19+ messages in thread
From: David PONCE @ 2004-04-29 16:06 UTC (permalink / raw)
[...]
> How do you think including tree-widget developed by David PONCE
> in emacs official distribution?
Hi All,
I received, and will shortly send back the signed paper
allowing to include tree-widget in the GNU Emacs distribution. As I
got write access to CVS, I should be able to check it in myself.
In order to do so, I would like some advice about the following
points.
First, I suppose that tree-widget.el should go into the main lisp
directory?
The next point looks more promizing ;-)
tree-widget can use image themes to display nice-looking trees. For
now, I created two graphical themes: a general purpose "default"
theme, and a file system oriented "folder" theme. Each theme contains
a set of images with predefined names that represent the different
parts of the tree to draw. When an image is not found in a particular
theme, the one in the "default" theme is used, so it is easy to create
a new theme by overriding only certain images.
>From an implementation point of view, a theme is a subdirectory in a
main theme directory:
tree-widget-themes/
default/
<default-theme-images>
folder/
<folder-theme-images>
Choosing a theme, is simply to give the name of the corresponding
subdirectory.
The main theme directory is customizable, it can be an absolute name,
or the name of a subdirectory located respectively in the `load-path'
or in the `data-directory'. By default, tree-widget search for a
"tree-widget-themes" subdirectory.
My question is where to install the theme directory? In the lisp
directory (I am not convinced this is the right place), or in the
`data-directory' ("./etc"), which seems a better choice.
It is not clear to me where images (and other data files) specific to a
package should be installed. To compare, in XEmacs things look
better: each package has its own data directory where you can put
images and other things. A `locate-data-directory' function is
provided for packages to easily retrieve their data directory. For
example tree-widget uses (locate-data-directory "tree-widget").
Perhaps it could be worth having a similar organization in "etc", that
is a sub-directory for each package that needs one for its data files.
This way the lisp directory would remain clean (only Elisp).
For example, there could be a "etc/tree-widget" directory where
tree-widget could search for the "built-in" themes. It is easily to
use its own themes via a customized theme directory added to the
`load-path'.
I hope my explanations were clear enough. Thank you so much for any
advice.
Regards.
David
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: tree widget
2004-04-29 16:06 tree widget David PONCE
@ 2004-04-29 23:48 ` Kim F. Storm
2004-05-01 9:44 ` Richard Stallman
0 siblings, 1 reply; 19+ messages in thread
From: Kim F. Storm @ 2004-04-29 23:48 UTC (permalink / raw)
Cc: emacs-devel
David PONCE <david.ponce@wanadoo.fr> writes:
> First, I suppose that tree-widget.el should go into the main lisp
> directory?
What about
lisp/tree-widget/tree-widget.el
for the code and
lisp/tree-widget/default/
lisp/tree-widget/theme1/
lisp/tree-widget/theme2/
etc for the various theme directories.
Then everything would be "self-contained".
> The main theme directory is customizable, it can be an absolute name,
> or the name of a subdirectory located respectively in the `load-path'
> or in the `data-directory'. By default, tree-widget search for a
> "tree-widget-themes" subdirectory.
The lisp/tree-widget directory would automatically be added to the
load-path.
> Perhaps it could be worth having a similar organization in "etc", that
> is a sub-directory for each package that needs one for its data files.
> This way the lisp directory would remain clean (only Elisp).
Well, toolbar icons are in lisp/toolbar, so there is precedence for
having "support files" in lisp.
An alternative approach is to define those images directly in lisp
like gdb-ui.el does.
--
Kim F. Storm <storm@cua.dk> http://www.cua.dk
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: tree widget
2004-04-29 23:48 ` Kim F. Storm
@ 2004-05-01 9:44 ` Richard Stallman
2004-05-01 11:56 ` David Ponce
2004-05-01 20:09 ` Kim F. Storm
0 siblings, 2 replies; 19+ messages in thread
From: Richard Stallman @ 2004-05-01 9:44 UTC (permalink / raw)
Cc: david.ponce, emacs-devel
What about
lisp/tree-widget/tree-widget.el
for the code and
lisp/tree-widget/default/
lisp/tree-widget/theme1/
lisp/tree-widget/theme2/
I don't want to add subdirectories of `lisp' that have
just a few files. That would lead to lots of small subdirectories.
I don't see why a subdirectory would be helpful here.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: tree widget
2004-05-01 9:44 ` Richard Stallman
@ 2004-05-01 11:56 ` David Ponce
2004-05-01 20:29 ` Stefan Monnier
2004-05-01 20:09 ` Kim F. Storm
1 sibling, 1 reply; 19+ messages in thread
From: David Ponce @ 2004-05-01 11:56 UTC (permalink / raw)
Cc: emacs-devel, Kim F. Storm
Richard Stallman wrote:
> What about
>
> lisp/tree-widget/tree-widget.el
>
> for the code and
>
> lisp/tree-widget/default/
> lisp/tree-widget/theme1/
> lisp/tree-widget/theme2/
>
> I don't want to add subdirectories of `lisp' that have
> just a few files. That would lead to lots of small subdirectories.
> I don't see why a subdirectory would be helpful here.
OK, but where do you suggest to put the images themes subdirectories
used by tree-widget?
What about my proposal based on `data-directory':
etc/tree-widget/default/
etc/tree-widget/theme1/
etc/tree-widget/theme2/
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: tree widget
2004-05-01 11:56 ` David Ponce
@ 2004-05-01 20:29 ` Stefan Monnier
2004-05-01 20:45 ` David Ponce
0 siblings, 1 reply; 19+ messages in thread
From: Stefan Monnier @ 2004-05-01 20:29 UTC (permalink / raw)
Cc: Kim F. Storm, rms, emacs-devel
> What about my proposal based on `data-directory':
> etc/tree-widget/default/
> etc/tree-widget/theme1/
> etc/tree-widget/theme2/
Problem is that if it's in /usr/share/emacs/21.4/etc/tree-widget,
then user `monnier' can't add his own theme.
So we want to use a search-path like load-path or somesuch.
Until now we've just stuck to using load-path.
Stefan
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: tree widget
2004-05-01 20:29 ` Stefan Monnier
@ 2004-05-01 20:45 ` David Ponce
0 siblings, 0 replies; 19+ messages in thread
From: David Ponce @ 2004-05-01 20:45 UTC (permalink / raw)
Cc: emacs-devel, rms, Kim F. Storm
Stefan Monnier wrote:
>>What about my proposal based on `data-directory':
>> etc/tree-widget/default/
>> etc/tree-widget/theme1/
>> etc/tree-widget/theme2/
>
>
> Problem is that if it's in /usr/share/emacs/21.4/etc/tree-widget,
> then user `monnier' can't add his own theme.
> So we want to use a search-path like load-path or somesuch.
> Until now we've just stuck to using load-path.
My proposal is to use `data-directory' for "built-in" themes.
tree-widget first lookup for a theme in the `load-path',
then in `data-directory'.
This way, you can add your own theme (or override a built-in theme)
via the load path.
David
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: tree widget
2004-05-01 9:44 ` Richard Stallman
2004-05-01 11:56 ` David Ponce
@ 2004-05-01 20:09 ` Kim F. Storm
2004-05-02 19:52 ` Richard Stallman
1 sibling, 1 reply; 19+ messages in thread
From: Kim F. Storm @ 2004-05-01 20:09 UTC (permalink / raw)
Cc: david.ponce, emacs-devel
Richard Stallman <rms@gnu.org> writes:
> What about
>
> lisp/tree-widget/tree-widget.el
>
> for the code and
>
> lisp/tree-widget/default/
> lisp/tree-widget/theme1/
> lisp/tree-widget/theme2/
>
> I don't want to add subdirectories of `lisp' that have
> just a few files. That would lead to lots of small subdirectories.
> I don't see why a subdirectory would be helpful here.
As I understand it, a tree-widget theme consist of a collection of
files (mostly images?) for that theme, and all files belonging to one
theme is contained in a separate subdirectory (so they can be named
equally.)
--
Kim F. Storm <storm@cua.dk> http://www.cua.dk
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: tree widget
@ 2004-04-30 6:42 David PONCE
0 siblings, 0 replies; 19+ messages in thread
From: David PONCE @ 2004-04-30 6:42 UTC (permalink / raw)
Cc: emacs-devel
Hi Kim,
[...]
> What about
>
> lisp/tree-widget/tree-widget.el
>
> for the code and
>
> lisp/tree-widget/default/
> lisp/tree-widget/theme1/
> lisp/tree-widget/theme2/
>
> etc for the various theme directories.
> Then everything would be "self-contained".
That's a good idea! If there is no objections, I will do that when possible.
Thanks!
David
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: tree widget
@ 2004-04-14 6:41 David PONCE
0 siblings, 0 replies; 19+ messages in thread
From: David PONCE @ 2004-04-14 6:41 UTC (permalink / raw)
Hi,
> I would like David PONCE to explain the cutting edge version if such a
> version is existing.
The latest version of tree-widget.el is available from the SF CVS at:
http://cvs.sf.net/viewcvs.py/*checkout*/emhacks/emhacks/tree-widget.el
Last changes since released version 2.0 were mainly to improve
portability and handling of images themes. Here is the relevant
change log:
2003-11-24 David Ponce <david@dponce.com>
* tree-widget.el
Add support for image properties by theme. Improve portability.
(tree-widget-create-image): Add new optional argument for image
properties.
(tree-widget--image-properties): New variable.
(tree-widget-set-image-properties): New function.
(tree-widget-find-image): Use it. No depend of `locate-library'.
2003-10-06 David Ponce <david@dponce.com>
* tree-widget.el
(tree-widget-image-type-available-p): Remove.
(tree-widget-image-formats): Return supported formats.
(tree-widget-find-image): Try each image file extension before
searching in default theme.
Thanks for your interest in tree-widget. Of course, I will be glad to
contribute it to GNU Emacs, and maintain it too, as my free time will
permit ;-)
David
^ permalink raw reply [flat|nested] 19+ messages in thread
* tree widget
@ 2004-04-08 12:07 Masatake YAMATO
2004-04-08 12:40 ` Dhruva Krishnamurthy
` (2 more replies)
0 siblings, 3 replies; 19+ messages in thread
From: Masatake YAMATO @ 2004-04-08 12:07 UTC (permalink / raw)
Cc: xsteve
How do you think including tree-widget developed by David PONCE
in emacs official distribution?
screenshot -> http://emhacks.sourceforge.net/tw-shots.html
It may be useful to represent branches of version control systems
in a buffer.
Masatake YAMATO
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: tree widget
2004-04-08 12:07 Masatake YAMATO
@ 2004-04-08 12:40 ` Dhruva Krishnamurthy
2004-04-08 22:32 ` Mario Lang
[not found] ` <E1BC4jy-0005JP-5d@fencepost.gnu.org>
2 siblings, 0 replies; 19+ messages in thread
From: Dhruva Krishnamurthy @ 2004-04-08 12:40 UTC (permalink / raw)
Cc: xsteve
Hello,
On Thu, 08 Apr 2004 21:07:48 +0900 (JST), "Masatake YAMATO"
<jet@gyve.org> said:
> How do you think including tree-widget developed by David PONCE
> in emacs official distribution?
>
> screenshot -> http://emhacks.sourceforge.net/tw-shots.html
>
> It may be useful to represent branches of version control systems
> in a buffer.
I would personally welcome that. Rendering an XML file, showing EBROWSE
data and lot of other hierarchical data display could use that (function
call graphs). I have plans of writing a simple project planning tool with
dependencies, this tree view will be great.
with best regards,
dhruva
________________________________________
Dhruva Krishnamurthy
Proud FSF member: #1935
http://schemer.fateback.com/
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: tree widget
2004-04-08 12:07 Masatake YAMATO
2004-04-08 12:40 ` Dhruva Krishnamurthy
@ 2004-04-08 22:32 ` Mario Lang
[not found] ` <E1BC4jy-0005JP-5d@fencepost.gnu.org>
2 siblings, 0 replies; 19+ messages in thread
From: Mario Lang @ 2004-04-08 22:32 UTC (permalink / raw)
[-- Attachment #1.1: Type: text/plain, Size: 706 bytes --]
Masatake YAMATO <jet@gyve.org> writes:
> How do you think including tree-widget developed by David PONCE
> in emacs official distribution?
I'd personally very much like that. I use tree-widget.el for several little
pet-projects of mine, and I find it is a very useful and powerful package.
scid-browser.el in the chess.el CVS repository uses it to display a
tree of available games in the database, and gspi[1] uses it to
display the GNOME desktop accessibility information. In both projects,
it has proofen to be very useful.
I also like it since it is a living example that widget.el can actually
be used for more than just plain custom buffers.
[1] http://delysid.org/gspi.html
--
CYa,
Mario
[-- Attachment #1.2: Type: application/pgp-signature, Size: 188 bytes --]
[-- Attachment #2: Type: text/plain, Size: 141 bytes --]
_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://mail.gnu.org/mailman/listinfo/emacs-devel
^ permalink raw reply [flat|nested] 19+ messages in thread
[parent not found: <E1BC4jy-0005JP-5d@fencepost.gnu.org>]
* Re: tree widget
[not found] ` <E1BC4jy-0005JP-5d@fencepost.gnu.org>
@ 2004-04-12 3:59 ` Masatake YAMATO
2004-04-12 21:53 ` Kim F. Storm
2004-04-13 17:44 ` Richard Stallman
0 siblings, 2 replies; 19+ messages in thread
From: Masatake YAMATO @ 2004-04-12 3:59 UTC (permalink / raw)
> How do you think including tree-widget developed by David PONCE
> in emacs official distribution?
>
> Could you explain to me what that does?
As the name explains, the code provides widget
representing a tree hierarchy like:
[-] ./
| [+] CVS/
| [+] autom4te.cache/
| [+] checks/
| [-] src/
| | [+] .deps/
| | [+] .libs/
| | [+] CVS/
| | .cvsignore*
| | Makefile*
| | Makefile.am*
| | Makefile.in*
| | TAGS*
| | glibextra.c*
| | glibextra.h*
| | glibextra.lo*
| | glibextra.o*
| | libinda.la*
| | linda.c*
| | linda.h*
| | linda.lo*
| | linda.o*
| | semantic.cache*
| | tuplespace.c*
| | tuplespace.h*
| | tuplespace.lo*
| ` tuplespace.o*
| .cvsignore*
| AUTHORS*
| ChangeLog*
| HACKING*
` semantic.cache*
You can click [+] and [-] to show and hide the sub tree like
outline mode.
Masatake YAMATO
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: tree widget
2004-04-12 3:59 ` Masatake YAMATO
@ 2004-04-12 21:53 ` Kim F. Storm
2004-04-13 10:56 ` Mario Lang
2004-04-13 17:44 ` Richard Stallman
1 sibling, 1 reply; 19+ messages in thread
From: Kim F. Storm @ 2004-04-12 21:53 UTC (permalink / raw)
Cc: emacs-devel
Masatake YAMATO <jet@gyve.org> writes:
> > How do you think including tree-widget developed by David PONCE
> > in emacs official distribution?
> >
> > Could you explain to me what that does?
>
> As the name explains, the code provides widget
> representing a tree hierarchy like:
>
> You can click [+] and [-] to show and hide the sub tree like
> outline mode.
Doesn't speedbar already have code to do that? But maybe not in a
generally useful way...?
--
Kim F. Storm <storm@cua.dk> http://www.cua.dk
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: tree widget
2004-04-12 21:53 ` Kim F. Storm
@ 2004-04-13 10:56 ` Mario Lang
2004-04-16 13:02 ` Per Abrahamsen
0 siblings, 1 reply; 19+ messages in thread
From: Mario Lang @ 2004-04-13 10:56 UTC (permalink / raw)
storm@cua.dk (Kim F. Storm) writes:
> Masatake YAMATO <jet@gyve.org> writes:
>
>> > How do you think including tree-widget developed by David PONCE
>> > in emacs official distribution?
>> >
>> > Could you explain to me what that does?
>>
>> As the name explains, the code provides widget
>> representing a tree hierarchy like:
>>
>> You can click [+] and [-] to show and hide the sub tree like
>> outline mode.
>
> Doesn't speedbar already have code to do that? But maybe not in a
> generally useful way...?
That is the point. Speedbar can not really be reused
outside of the speedbar itself. tree-widget can be used
in every buffer that has received proper `widget-setup'.
Appart from that, tree-widget has a really nice dynamical children
generation feature which you can use to draw a tree
collapsed, without having all the data for the whole tree ready.
Whenever the user expands a node, the children of that node
are retrieved by calling a function. This is very very
handy for deeply branched trees.
Apart from that, since tree-widget is completely Widget based,
you can easily create things like a node with a text entry
field, without any major hassle. I don't think that
speedbar makes this easy in any way.
--
CYa,
Mario | Debian Developer <URL:http://debian.org/>
| Get my public key via finger mlang@db.debian.org
| 1024D/7FC1A0854909BCCDBE6C102DDFFC022A6B113E44
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: tree widget
2004-04-13 10:56 ` Mario Lang
@ 2004-04-16 13:02 ` Per Abrahamsen
0 siblings, 0 replies; 19+ messages in thread
From: Per Abrahamsen @ 2004-04-16 13:02 UTC (permalink / raw)
Mario Lang <mlang@delysid.org> writes:
> Apart from that, since tree-widget is completely Widget based,
> you can easily create things like a node with a text entry
> field, without any major hassle. I don't think that
> speedbar makes this easy in any way.
I haven't actually tried it, but being widget based, it ought to be
possible to use it as part of a customization type as well.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: tree widget
2004-04-12 3:59 ` Masatake YAMATO
2004-04-12 21:53 ` Kim F. Storm
@ 2004-04-13 17:44 ` Richard Stallman
2004-04-14 3:24 ` Masatake YAMATO
1 sibling, 1 reply; 19+ messages in thread
From: Richard Stallman @ 2004-04-13 17:44 UTC (permalink / raw)
Cc: emacs-devel
> How do you think including tree-widget developed by David PONCE
> in emacs official distribution?
>
> Could you explain to me what that does?
As the name explains, the code provides widget
representing a tree hierarchy like:
It sounds quite useful. Could you post the code here
so that people can look at it?
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2004-05-02 19:52 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-04-29 16:06 tree widget David PONCE
2004-04-29 23:48 ` Kim F. Storm
2004-05-01 9:44 ` Richard Stallman
2004-05-01 11:56 ` David Ponce
2004-05-01 20:29 ` Stefan Monnier
2004-05-01 20:45 ` David Ponce
2004-05-01 20:09 ` Kim F. Storm
2004-05-02 19:52 ` Richard Stallman
-- strict thread matches above, loose matches on Subject: below --
2004-04-30 6:42 David PONCE
2004-04-14 6:41 David PONCE
2004-04-08 12:07 Masatake YAMATO
2004-04-08 12:40 ` Dhruva Krishnamurthy
2004-04-08 22:32 ` Mario Lang
[not found] ` <E1BC4jy-0005JP-5d@fencepost.gnu.org>
2004-04-12 3:59 ` Masatake YAMATO
2004-04-12 21:53 ` Kim F. Storm
2004-04-13 10:56 ` Mario Lang
2004-04-16 13:02 ` Per Abrahamsen
2004-04-13 17:44 ` Richard Stallman
2004-04-14 3:24 ` Masatake YAMATO
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.