The GW-Scripting list is a discussion list for information regarding the development and use of Window-Eyes scripts. Any subscriber of the GW-Scripting list has the ability to post on-topic messages.

From:

 "BX" <bronx_lab@fltg.net>

Subject:

 Re: Suggestion needed, is a Treeview the right thing?

Date:

 Sat, Mar 30, 2013 4:21:03 pm
This is a multi-part message in MIME format.

------=_NextPart_000_0010_01CE2D62.94CD98F0
Content-Type: text/plain;
charset="utf-8"
Content-Transfer-Encoding: quoted-printable

Hi David,

I sent you some of the code in my Uninstall program. It uses several levels and could be more than those 2 plus a button to select in the second level.

When reading that code I made ID values based on how many on the list, in other words if the first level has 1000 I made sure the id numbering would match it, then the next level down would have a power of 10 more than that or the reverse.

The subroutine is getTree and it uses the names on the list to make the selection of levels. Study it and look in the getTree and the subroutines it calls to get children for that tree.

As I said, the ID is the most important thing and selections are based on those ID's and such. I just used numbers but you could used color categories inside that or for the ID.

There are several other subroutines that are test routines and can be ignored. But once you read through it and the beginning of the mainprog callback that checks for tree selections you should be able to understand it. I included the declares as well.

Happy hacking on my code.

Sincerely
Bruce

Sent: Saturday, March 30, 2013 1:43 PM
Subject: Re: Suggestion needed, is a Treeview the right thing?


Well fact is, that the project is going to have more like 50 entries on the main level, and up to five sub-level on some of the entries. That is why, I don't think a load of checkboxes would do. It would not even fit into a screen. The total list, including all sub-lists, holds more than 300 entries.

And, you are not just to decide Shirt, Pant or Socks. You will also choose the color, and if available the shade. So, you can choose only pants (with no color choice), and Shirt with the color green, and for socks, you can choose both black and Blue. Do you choose blue socks, there is the choices of Skyblue, Navy or Ocean blue. If you have the chance, please look at the short list I provided, and pay attention to the levelling of each entry, and you will see how they are connected with each other.

I could have made a multi-selection list, but then the user will have to scroll through a ton of colors, for each piece of cloth. All of this, was the reason, why I thought of a treeview, as it would give the user a quick way of scrolling down to the cloth he wanted, then expand that one, and check the colors he wanted.

But apparently I was not explaining this well enough. Thanks anyway for the ideas. They would have worked in a simpler project, but I have a feeling it would be hard to have to tab through several hundred checkboxes for putting together an outfit. :)

Regards,

----- Original Message -----
From: Rod Hutton
To: gw-scripting@gwmicro.com
Sent: Saturday, March 30, 2013 6:20 PM
Subject: Re: Suggestion needed, is a Treeview the right thing?


Hi David,

Here’s a lazy man’s point of view: why not just have 3 groups of checkboxes in one dialog; the first group (at the top of the dialog) would be “shirt”, the second (below the “shirt” group), would be “pants,” and the third group (below “pants”) would be “socks.” So, all you would need to do is tab around and check/uncheck to your heart’s content.

Cheers,

Rod

From: David
Sent: Saturday, March 30, 2013 10:01 AM
To: gw-scripting@gwmicro.com
Subject: Suggestion needed, is a Treeview the right thing?

I am about to start out on a new project. But I want to do things the better way, first go. .)

If I, in short terms, would describe the feature I am trying to figure how to, let me give this example.

Imagine we have three main levels. Let's for the ease of the example, say they are:
Shirt
Pant
Socks

. Now imagine, we have subcategories of each, giving different colors, and maybe even subcategories from there, giving the shades. So, the whole structure, would look like this:

Shirt
Green
White
Blue
pant
green
red
black
socks
green
light
dark
white
blue
sky
ocean
navy
Black
Yellow.


My first idea, would be to put all of this into a treeview. Thing is, that I wanted to have the chance of "checking" the different entries. That is, a person should be able to put a check mark, at the Green, under both Shirt and Pant. Maybe even check both Green and and white, for the shirt, and green for the pant.

I have never constructed a treeview, and I don't even know, if it is possible in a rather simple way - to accomplish what I here am attempting to do. Hence, my first question would be, is a treeview the right way to go? Secondly, is it even possible to do what I want? And thirdly, is there any tutorial, or scripting samples, that would address this kind of task. Preferably, something that does not contain thousand of lines, in a high-tech and fancy script.

Ok, I do understand, I would have to deal with dialogs, and treeviews or whatever, from an XML. Fine enough, but what would be suggested from some of you more experienced developers out there?

Thanks alot for any feedback,


------=_NextPart_000_0010_01CE2D62.94CD98F0
Content-Type: text/html;
charset="utf-8"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=utf-8" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 8.00.6001.19403">
<STYLE></STYLE>
</HEAD>
<BODY dir=ltr bgColor=#ffffff>
<DIV><FONT size=2 face=Arial>Hi David,</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp; I sent you some of the code in
my Uninstall program. It uses several levels and could be more than those 2 plus
a button to select in the second level.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp; When reading that code I made ID
values based on how many on the list, in other words if the first level has 1000
I made sure the id numbering would match it, then the next level down would have
a power of 10 more than that or the reverse.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp; The subroutine is getTree and it
uses the names on the list to make the selection of levels. Study it and look in
the getTree and the subroutines it calls to get children for that tree.
</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp; As I said, the ID is the most
important thing and selections are based on those ID's and such. I just used
numbers but you could used color categories inside that or for the
ID.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp; There are several other
subroutines that are test routines and can be ignored. But once you read through
it and the beginning of the mainprog callback that checks for tree selections
you should be able to understand it. I included the declares as
well.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp; Happy hacking on my
code.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
Sincerely</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
Bruce</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<BLOCKQUOTE
style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px"
dir=ltr>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Saturday, March 30, 2013 1:43
PM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> Re: Suggestion needed, is a
Treeview the right thing?</DIV>
<DIV><BR></DIV>
<DIV><FONT size=2 face=Arial>Well fact is, that the project is going to have
more like 50 entries on the main level, and up to five sub-level on some of
the entries. That is why, I don't think a load of checkboxes would do. It
would not even fit into a screen. The total list, including all sub-lists,
holds more than 300 entries.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>And, you are not just to decide Shirt, Pant or
Socks. You will also choose the color, and if available the shade. So, you can
choose only pants (with no color choice), and Shirt with the color green, and
for socks, you can choose both black and Blue. Do you choose blue socks, there
is the choices of Skyblue, Navy or Ocean blue. If you have the chance, please
look at the short list I provided, and pay attention to the levelling of each
entry, and you will see how they are connected with each other.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>I could have made a multi-selection list, but
then the user will have to scroll through a ton of colors, for each piece of
cloth. All of this, was the reason, why I thought of a treeview, as it would
give the user a quick way of scrolling down to the cloth he wanted, then
expand that one, and check the colors he wanted. </FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>But apparently I was not explaining this well
enough. Thanks anyway for the ideas. They would have worked in a simpler
project, but I have a feeling it would be hard to have to tab through several
hundred checkboxes for putting together an outfit. :) </FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>Regards,</FONT></DIV>
<DIV>&nbsp;</DIV>
<BLOCKQUOTE
style="BORDER-LEFT: #000000 2px solid; PADDING-LEFT: 5px; PADDING-RIGHT: 0px; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px"
dir=ltr>
<DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
<DIV
style="FONT: 10pt arial; BACKGROUND: #e4e4e4; font-color: black"><B>From:</B>
<A title=rhstuff@sympatico.ca href="mailto:rhstuff@sympatico.ca">Rod
Hutton</A> </DIV>
<DIV style="FONT: 10pt arial"><B>To:</B> <A title=gw-scripting@gwmicro.com
href="mailto:gw-scripting@gwmicro.com">gw-scripting@gwmicro.com</A> </DIV>
<DIV style="FONT: 10pt arial"><B>Sent:</B> Saturday, March 30, 2013 6:20
PM</DIV>
<DIV style="FONT: 10pt arial"><B>Subject:</B> Re: Suggestion needed, is a
Treeview the right thing?</DIV>
<DIV><BR></DIV>
<DIV dir=ltr>
<DIV style="FONT-FAMILY: 'Arial'; COLOR: #000000; FONT-SIZE: 10pt">
<DIV>Hi David,</DIV>
<DIV>&nbsp;</DIV>
<DIV>Here’s a lazy man’s point of view:&nbsp; why not just have 3 groups of
checkboxes in one dialog; the first group (at the top of the dialog) would
be “shirt”, the second (below the “shirt” group), would be “pants,” and the
third group (below “pants”) would be “socks.”&nbsp; So, all you would need
to do is tab around and check/uncheck to your heart’s content. <IMG
style="BORDER-BOTTOM-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none"
class="wlEmoticon wlEmoticon-smile" alt=Smile
src="cid:D0DAA0879B964C33A71B15A6FFA018FC@RoderickH43771"></DIV>
<DIV>&nbsp;</DIV>
<DIV>Cheers,</DIV>
<DIV>&nbsp;</DIV>
<DIV>Rod <IMG
style="BORDER-BOTTOM-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none"
class="wlEmoticon wlEmoticon-smile" alt=Smile
src="cid:D0DAA0879B964C33A71B15A6FFA018FC@RoderickH43771"></DIV>
<DIV
style="FONT-STYLE: normal; DISPLAY: inline; FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE: small; FONT-WEIGHT: normal; TEXT-DECORATION: none">
<DIV style="FONT: 10pt tahoma">
<DIV><FONT face=Arial></FONT>&nbsp;</DIV>
<DIV style="BACKGROUND: #f5f5f5">
<DIV style="font-color: black"><B>From:</B> <A
title=trailerdavid@hotmail.com
href="mailto:trailerdavid@hotmail.com">David</A> </DIV>
<DIV><B>Sent:</B> Saturday, March 30, 2013 10:01 AM</DIV>
<DIV><B>To:</B> <A title=gw-scripting@gwmicro.com
href="mailto:gw-scripting@gwmicro.com">gw-scripting@gwmicro.com</A> </DIV>
<DIV><B>Subject:</B> Suggestion needed, is a Treeview the right
thing?</DIV></DIV></DIV>
<DIV>&nbsp;</DIV></DIV>
<DIV
style="FONT-STYLE: normal; DISPLAY: inline; FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE: small; FONT-WEIGHT: normal; TEXT-DECORATION: none">
<DIV><FONT size=2 face=Arial>I am about to start out on a new project. But I
want to do things the better way, first go. .)</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>If I, in short terms, would describe the
feature I am trying to figure how to, let me give this example.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>Imagine we have three main levels. Let's for
the ease of the example, say they are:</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp; Shirt</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp; Pant</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp; Socks</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>. Now imagine, we have subcategories of each,
giving different colors, and maybe even subcategories from there, giving the
shades. So, the whole structure, would look like this:</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp; Shirt</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Green</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
White</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Blue</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp; pant</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
green</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
red</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
black</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp; socks</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
green</FONT></DIV>
<DIV><FONT size=2
face=Arial>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
light</FONT></DIV>
<DIV><FONT size=2
face=Arial>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
dark</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
white</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
blue</FONT></DIV>
<DIV><FONT size=2
face=Arial>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
sky</FONT></DIV>
<DIV><FONT size=2
face=Arial>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
ocean</FONT></DIV>
<DIV><FONT size=2
face=Arial>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
navy</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Black</FONT></DIV>
<DIV><FONT size=2 face=Arial>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Yellow.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>My first idea, would be to put all of this into
a treeview. Thing is, that I wanted to have the chance of "checking" the
different entries. That is, a person should be able to put a check mark, at
the Green, under both Shirt and Pant. Maybe even check both Green and and
white, for the shirt, and green for the pant.</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>I have never constructed a treeview, and I
don't even know, if it is possible in a rather simple way - to accomplish
what I here am attempting to do. Hence, my first question would be, is a
treeview the right way to go? Secondly, is it even possible to do what I
want? And thirdly, is there any tutorial, or scripting samples, that would
address this kind of task. Preferably, something that does not contain
thousand of lines, in a high-tech and fancy script. </FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>Ok, I do understand, I would have to deal with
dialogs, and treeviews or whatever, from an XML. Fine enough, but what would
be suggested from some of you more experienced developers out
there?</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV><FONT size=2 face=Arial>Thanks alot for any feedback,</FONT></DIV>
<DIV><FONT size=2 face=Arial></FONT>&nbsp;</DIV>
<DIV>&nbsp;</DIV></DIV></DIV></DIV></BLOCKQUOTE></BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_0010_01CE2D62.94CD98F0--