Rocksolid Light

Welcome to RetroBBS

mail  files  register  newsreader  groups  login

Message-ID:  

If you can't understand it, it is intuitively obvious.


devel / comp.lang.tcl / Re: How to better insert columns in a grid-managed frame

SubjectAuthor
* How to better insert columns in a grid-managed frameMichael Soyka
+* Re: How to better insert columns in a grid-managed frameRalf Fassel
|`- Re: How to better insert columns in a grid-managed frameMichael Soyka
`* Re: How to better insert columns in a grid-managed frameRich
 `- Re: How to better insert columns in a grid-managed frameMichael Soyka

1
How to better insert columns in a grid-managed frame

<u7urk5$3npir$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=22364&group=comp.lang.tcl#22364

  copy link   Newsgroups: comp.lang.tcl
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: mssr953@gmail.com (Michael Soyka)
Newsgroups: comp.lang.tcl
Subject: How to better insert columns in a grid-managed frame
Date: Mon, 3 Jul 2023 12:05:22 -0400
Organization: self
Lines: 36
Message-ID: <u7urk5$3npir$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 3 Jul 2023 16:05:25 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="83c31a39f7a60fe700e4d8d3b607771c";
logging-data="3925595"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1//PH3Dv8wZI8GOrtBF2TJS"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.12.0
Cancel-Lock: sha1:+Es44P7uabPS9qNLlvuhkq6NcEw=
Content-Language: en-US
 by: Michael Soyka - Mon, 3 Jul 2023 16:05 UTC

Hello all.

I've built a GUI that is used for data entry. It consists of one column
of row labels on the left, one column of checkbutton widgets on the
right and multiple columns of entry widgets in between. Each entry
widget column corresponds to a date and those columns must be shown in
time-order. The top row contains label widgets for column captions.
All are managed by grid.

I would like the user to be able to insert additional columns of entry
widgets at any time, analogous to inserting new columns in a
spreadsheet. As the entry-columns must remain in time-order, some
columns must be shifted to the right.

Maybe I'm wrong but the grid geometry manager does not make this an easy
task to implement. First, it doesn't support an insertion operation,
just replace or append. So, what I had to do was to tell grid to
remove/forget the columns to the right of the insertion point, append
the new column and then append the forgotten ones. However, that messes
up the stacking order because the new widgets are newer than the ones to
their right.

That can be solved either by destroying and then recreating the columns
to be right-shifted or just destroying all of them and then recreating
them in the desired order. Either approach works.

Nonetheless, I didn't like either one and so what I've done is to force
to user to specify up-front how many columns will be needed and then
build the GUI.

So I'm asking for alternatives that would allow the user to dynamically
insert columns whenever the mood strikes. I've looked about for
existing packages that support this type of operation but haven't found
one.

Thanks in advance for any suggestions.

Re: How to better insert columns in a grid-managed frame

<ygar0ppgcke.fsf@akutech.de>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=22365&group=comp.lang.tcl#22365

  copy link   Newsgroups: comp.lang.tcl
Path: i2pn2.org!i2pn.org!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: ralfixx@gmx.de (Ralf Fassel)
Newsgroups: comp.lang.tcl
Subject: Re: How to better insert columns in a grid-managed frame
Date: Mon, 03 Jul 2023 18:54:57 +0200
Lines: 17
Message-ID: <ygar0ppgcke.fsf@akutech.de>
References: <u7urk5$3npir$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain
X-Trace: individual.net IB7YIJj+R6rYlrWSHR/8HwccHeOrtEyYZyEukDATjooaRKy7Q=
Cancel-Lock: sha1:nn0epVevmChcfQO8wokdXgKYqSk= sha1:XjJVDqo5GQRsPghUMbwQuBJzAgY=
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux)
 by: Ralf Fassel - Mon, 3 Jul 2023 16:54 UTC

* Michael Soyka <mssr953@gmail.com>
| So I'm asking for alternatives that would allow the user to
| dynamically insert columns whenever the mood strikes. I've looked
| about for existing packages that support this type of operation but haven't
| found one.

Did you check tablelist?

https://www.nemethi.de

See also the recent post by Csaba regarding the current new version

Message-ID: <u7u8bn$23esr$1@tota-refugium.de>
ANNOUNCE: Multi-column listbox and tree widget package Tablelist 6.22

HTH
R'

Re: How to better insert columns in a grid-managed frame

<u7uun0$3od59$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=22366&group=comp.lang.tcl#22366

  copy link   Newsgroups: comp.lang.tcl
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: rich@example.invalid (Rich)
Newsgroups: comp.lang.tcl
Subject: Re: How to better insert columns in a grid-managed frame
Date: Mon, 3 Jul 2023 16:58:08 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 48
Message-ID: <u7uun0$3od59$1@dont-email.me>
References: <u7urk5$3npir$1@dont-email.me>
Injection-Date: Mon, 3 Jul 2023 16:58:08 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="76df5e3571fe50f3a298b6c990246df9";
logging-data="3945641"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19+Yu2f7nxKcjkkYY8vGRvE"
User-Agent: tin/2.6.1-20211226 ("Convalmore") (Linux/5.15.19 (x86_64))
Cancel-Lock: sha1:sdUE5xohvtfNGXkrFQihHdUzEAI=
 by: Rich - Mon, 3 Jul 2023 16:58 UTC

Michael Soyka <mssr953@gmail.com> wrote:
> Hello all.
>
> I've built a GUI that is used for data entry. It consists of one column
> of row labels on the left, one column of checkbutton widgets on the
> right and multiple columns of entry widgets in between. Each entry
> widget column corresponds to a date and those columns must be shown in
> time-order. The top row contains label widgets for column captions.
> All are managed by grid.
>
> I would like the user to be able to insert additional columns of entry
> widgets at any time, analogous to inserting new columns in a
> spreadsheet. As the entry-columns must remain in time-order, some
> columns must be shifted to the right.
>
> Maybe I'm wrong but the grid geometry manager does not make this an easy
> task to implement. First, it doesn't support an insertion operation,
> just replace or append. So, what I had to do was to tell grid to
> remove/forget the columns to the right of the insertion point, append
> the new column and then append the forgotten ones. However, that messes
> up the stacking order because the new widgets are newer than the ones to
> their right.

As long as the new ones are above the container which is "gridding"
them all, how is this a problem? And new ones, by being new, and on
top, should always be above the container performing the grid
management.

> That can be solved either by destroying and then recreating the columns
> to be right-shifted or just destroying all of them and then recreating
> them in the desired order. Either approach works.

No need to destroy anything to change the stacking order. Just 'raise'
the widgets that need to be raised.

> So I'm asking for alternatives that would allow the user to
> dynamically insert columns whenever the mood strikes. I've looked
> about for existing packages that support this type of operation but
> haven't found one.

Have you tried using a treeview (without using the tree portion). It
allows its columns to be ordered in an arbitrary order, so you could
create a new column, then position it where you want and the rest
should adjust accordingly.

Another alternative could be tablelist (https://www.nemethi.de/). It
has insertcolumns and deletecolumns subcommands which would seem to be
just what you are asking for.

Re: How to better insert columns in a grid-managed frame

<u7v81c$3pfbf$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=22367&group=comp.lang.tcl#22367

  copy link   Newsgroups: comp.lang.tcl
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: mssr953@gmail.com (Michael Soyka)
Newsgroups: comp.lang.tcl
Subject: Re: How to better insert columns in a grid-managed frame
Date: Mon, 3 Jul 2023 15:37:14 -0400
Organization: self
Lines: 20
Message-ID: <u7v81c$3pfbf$1@dont-email.me>
References: <u7urk5$3npir$1@dont-email.me> <ygar0ppgcke.fsf@akutech.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 3 Jul 2023 19:37:16 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="83c31a39f7a60fe700e4d8d3b607771c";
logging-data="3980655"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19B44qD39YTn53LV0OouHRr"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.12.0
Cancel-Lock: sha1:R5f3Hj/n514RiEeUe1CN9uBDflM=
Content-Language: en-US
In-Reply-To: <ygar0ppgcke.fsf@akutech.de>
 by: Michael Soyka - Mon, 3 Jul 2023 19:37 UTC

On 07/03/2023 12:54 PM, Ralf Fassel wrote:
> * Michael Soyka <mssr953@gmail.com>
> | So I'm asking for alternatives that would allow the user to
> | dynamically insert columns whenever the mood strikes. I've looked
> | about for existing packages that support this type of operation but haven't
> | found one.
>
> Did you check tablelist?
>
> https://www.nemethi.de
I think I did but I'll have another look-see. Thanks!
>
> See also the recent post by Csaba regarding the current new version
>
> Message-ID: <u7u8bn$23esr$1@tota-refugium.de>
> ANNOUNCE: Multi-column listbox and tree widget package Tablelist 6.22
>
> HTH
> R'

Re: How to better insert columns in a grid-managed frame

<u7v8lo$3phbo$1@dont-email.me>

  copy mid

https://www.rocksolidbbs.com/devel/article-flat.php?id=22368&group=comp.lang.tcl#22368

  copy link   Newsgroups: comp.lang.tcl
Path: i2pn2.org!i2pn.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: mssr953@gmail.com (Michael Soyka)
Newsgroups: comp.lang.tcl
Subject: Re: How to better insert columns in a grid-managed frame
Date: Mon, 3 Jul 2023 15:48:06 -0400
Organization: self
Lines: 56
Message-ID: <u7v8lo$3phbo$1@dont-email.me>
References: <u7urk5$3npir$1@dont-email.me> <u7uun0$3od59$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 3 Jul 2023 19:48:08 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="83c31a39f7a60fe700e4d8d3b607771c";
logging-data="3982712"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1913Jxn7trO+lesaBFY3Yus"
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
Thunderbird/102.12.0
Cancel-Lock: sha1:v2H+yfMRL+kOI+kMNnwkVCASfrY=
Content-Language: en-US
In-Reply-To: <u7uun0$3od59$1@dont-email.me>
 by: Michael Soyka - Mon, 3 Jul 2023 19:48 UTC

On 07/03/2023 12:58 PM, Rich wrote:
> Michael Soyka <mssr953@gmail.com> wrote:
>> Hello all.
>>
>> I've built a GUI that is used for data entry. It consists of one column
>> of row labels on the left, one column of checkbutton widgets on the
>> right and multiple columns of entry widgets in between. Each entry
>> widget column corresponds to a date and those columns must be shown in
>> time-order. The top row contains label widgets for column captions.
>> All are managed by grid.
>>
>> I would like the user to be able to insert additional columns of entry
>> widgets at any time, analogous to inserting new columns in a
>> spreadsheet. As the entry-columns must remain in time-order, some
>> columns must be shifted to the right.
>>
>> Maybe I'm wrong but the grid geometry manager does not make this an easy
>> task to implement. First, it doesn't support an insertion operation,
>> just replace or append. So, what I had to do was to tell grid to
>> remove/forget the columns to the right of the insertion point, append
>> the new column and then append the forgotten ones. However, that messes
>> up the stacking order because the new widgets are newer than the ones to
>> their right.
>
> As long as the new ones are above the container which is "gridding"
> them all, how is this a problem? And new ones, by being new, and on
> top, should always be above the container performing the grid
> management.
Users will want to enter data left-to-right using the tab key. As a
result of the above approach, the new column is skipped over and those
widgets will be accessed after the widget in the lower-right. At least
that's what I see and interpreted the behavior as a stacking order issue.
>
>> That can be solved either by destroying and then recreating the columns
>> to be right-shifted or just destroying all of them and then recreating
>> them in the desired order. Either approach works.
>
> No need to destroy anything to change the stacking order. Just 'raise'
> the widgets that need to be raised.
Obviously, I never though of that! Note to self- why didn't I think of
that?
>
>> So I'm asking for alternatives that would allow the user to
>> dynamically insert columns whenever the mood strikes. I've looked
>> about for existing packages that support this type of operation but
>> haven't found one.
>
> Have you tried using a treeview (without using the tree portion). It
> allows its columns to be ordered in an arbitrary order, so you could
> create a new column, then position it where you want and the rest
> should adjust accordingly.
>
> Another alternative could be tablelist (https://www.nemethi.de/). It
> has insertcolumns and deletecolumns subcommands which would seem to be
> just what you are asking for.
Thanks again for the suggestions- I'll look into them both.


devel / comp.lang.tcl / Re: How to better insert columns in a grid-managed frame

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor