unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* 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

* 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-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

* Re: tree widget
  2004-04-13 17:44     ` Richard Stallman
@ 2004-04-14  3:24       ` Masatake YAMATO
  0 siblings, 0 replies; 19+ messages in thread
From: Masatake YAMATO @ 2004-04-14  3:24 UTC (permalink / raw)
  Cc: david.ponce, emacs-devel

[-- Attachment #1: Type: Text/Plain, Size: 589 bytes --]

>     >     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?

I attached .tar.gz file got from
http://sourceforge.net/project/showfiles.php?group_id=79309&package_id=81112

I would like David PONCE to explain the cutting edge version if such a 
version is existing.

Masatake YAMATO

[-- Attachment #2: tree-widget-2.0.tar.gz --]
[-- Type: Application/Octet-Stream, Size: 15822 bytes --]

[-- Attachment #3: 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

* 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

* 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-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-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-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  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-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 20:09     ` Kim F. Storm
@ 2004-05-02 19:52       ` Richard Stallman
  0 siblings, 0 replies; 19+ messages in thread
From: Richard Stallman @ 2004-05-02 19:52 UTC (permalink / raw)
  Cc: david.ponce, emacs-devel

    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.)

That makes sense.  How many files are we talking about in each theme,
and how many themes?  What are the real names of the themes?

^ 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 public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).