Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ TheIDE » U++ TheIDE: Other Features Wishlist and/or Bugs » [PROPOSAL] Redesigned Assembly Setup Dialog
[PROPOSAL] Redesigned Assembly Setup Dialog [message #49924] Tue, 05 June 2018 20:59 Go to next message
Oblivion is currently offline  Oblivion
Messages: 1091
Registered: August 2007
Senior Contributor
Hello,

IMO the existing assembly setup dialog is somewhat cumbersome and unintuitive.
I redesigned it around an ArrayCtrl (with row-moving (up/down), and multiselect (for deletion).

Screenshot:

https://cdn.pbrd.co/images/HowxQlv.png


Only three files (ide.lay, BaseDlg.cpp, UppDlg.h) are affected. You can find the zipped files below.
I'd like to hear your thoughts.


Best regards,
Oblivion


[Updated on: Wed, 06 June 2018 21:07]

Report message to a moderator

Re: [PROPOSAL] Redesigned Assembly Setup Dialog [message #49930 is a reply to message #49924] Wed, 06 June 2018 09:03 Go to previous messageGo to next message
mr_ped is currently offline  mr_ped
Messages: 825
Registered: November 2005
Location: Czech Republic - Praha
Experienced Contributor
I would maybe add on bottom of Nests list some helper buttons to add most common nests, like uppsrc, bazaar, reference, etc... So if you start with blank new assembly, you can just click few times to have basic configuration set up, then you add the extra custom nests.

edit: Overall looks good to me, better then the single text box editing.

[Updated on: Wed, 06 June 2018 09:04]

Report message to a moderator

Re: [PROPOSAL] Redesigned Assembly Setup Dialog [message #49935 is a reply to message #49930] Wed, 06 June 2018 09:42 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1091
Registered: August 2007
Senior Contributor
Hello mr_ped,

Quote:

I would maybe add on bottom of Nests list some helper buttons to add most common nests, like uppsrc, bazaar, reference, etc... So if you start with blank new assembly, you can just click few times to have basic configuration set up, then you add the extra custom nests.


That's easy and reasonable.
My choice would be to add the common nests (uppsrc, bazaar, etc.) as "places" (bookmarks) to the file selector, and run the filesel automatically when a new/empty assembly is being created. This way, we can both keep the interface clean and have the common nests easily selectable.

Best regards,
Oblivion


[Updated on: Thu, 07 June 2018 08:59]

Report message to a moderator

Re: [PROPOSAL] Redesigned Assembly Setup Dialog [message #49953 is a reply to message #49930] Wed, 06 June 2018 15:38 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1091
Registered: August 2007
Senior Contributor
Hello,

I've updated the assembly setup patches. Now the default UPP directories show up on the places (bookmarks) panel of the directory selector.

EDIT: Nevermind. This doesn't work. UppGetDirs() apparently returns the nests of the current assembly...

Best regards,
Oblivion


[Updated on: Wed, 06 June 2018 16:05]

Report message to a moderator

Re: [PROPOSAL] Redesigned Assembly Setup Dialog [message #49955 is a reply to message #49924] Wed, 06 June 2018 17:19 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1091
Registered: August 2007
Senior Contributor
Ok,

Now all the assembly paths (except the current one) successfully show up on the places (bookmarks) panel of the directory selector.

https://cdn.pbrd.co/images/HoDXAs8.png


Best regards.
Oblivion


[Updated on: Wed, 06 June 2018 21:07]

Report message to a moderator

Re: [PROPOSAL] Redesigned Assembly Setup Dialog [message #49956 is a reply to message #49924] Wed, 06 June 2018 18:26 Go to previous messageGo to next message
Sender Ghost is currently offline  Sender Ghost
Messages: 301
Registered: November 2008
Senior Member
Hello Oblivion.

Oblivion wrote on Tue, 05 June 2018 18:59
IMO the existing assembly setup dialog is somewhat cumbersome and unintuitive

I think, that this may depend from experience of concrete person. There is maybe some purpose for current design. For example, possibility to copy/paste needed string(s).

The current "Assembly setup" dialog allows to configure "Package nests" with using a single EditString.
The ">" button is multi-functional for "Package nests", which allows to:
- Add path for new nest, if cursor after last ";" character or nests are empty
- Change path for selected nest (e.g. between ";" character(s)) otherwise

Oblivion wrote on Tue, 05 June 2018 18:59
I redesigned it around an ArrayCtrl (with row-moving (up/down), and multiselect (for deletion).

I think, that possible to implement what you proposed for "Package nests" in a separate window, which invoked on some FrameRight<Button> click (e.g. near ">" button). Attached some patch as example (based on 11983 revision).

[Updated on: Wed, 06 June 2018 18:49]

Report message to a moderator

Re: [PROPOSAL] Redesigned Assembly Setup Dialog [message #49957 is a reply to message #49956] Wed, 06 June 2018 19:17 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1091
Registered: August 2007
Senior Contributor
Hello Sender Ghost,

Quote:

I think, that this may depend from experience of concrete person. There is maybe some purpose for current design. For example, possibility to copy/paste needed string(s).


Fair point. Its aesthetics certainly has a personal aspect. But the proposed design, I believe, is also functionally better.

It is functionally a drop-in replacement.


Allow me to explain this step by step:

The current "Assembly setup" dialog allows to configure "Package nests" with using a single EditString.
The ">" button is multi-functional for "Package nests", which allows to:
- Add path for new nest, if cursor after last ";" character or nests are empty
- Change path for selected nest (e.g. between ";" character(s)) otherwise


So does the proposed design.
Instead of using a single EditString, it uses an array with per-row directory selectors. Namely, ">" buttons.

This gives us some advantages:

1) Nests can be easily edited and selected. Editing, selecting, or changing the order of the nests in the original design can become tedious if you have, say, 10 nests in an assembly.
2) Since the order of nests are important, arrayctrl allows them to be arranged, rearranged, inserted, deleted, multiselected easily, using both control keys and context menu.
3) Nest selector dialog (the ">" button that appears when a row is edited, is also able to show existing nests on its Places (bookmarks) panel, which makes the new design even more practical.


Quote:

I think, that possible to implement what you proposed for "Package nests" in a separate window, which invoked on some FrameRight<Button> click (e.g. near ">" button). Attached some patch as example (based on 11983 revision).


But this is how the new design works Smile Did you see the first screenshot, or applied the patches?
The second screenshot is simply the directory selector for selecting nests, when the ">" button of an array row is clicked. And it shows how it automatically displays the existing nests.

You can find the latest version of the patched files below.

Best regards,
Oblivion




[Updated on: Wed, 06 June 2018 19:25]

Report message to a moderator

Re: [PROPOSAL] Redesigned Assembly Setup Dialog [message #49958 is a reply to message #49957] Wed, 06 June 2018 20:17 Go to previous messageGo to next message
Sender Ghost is currently offline  Sender Ghost
Messages: 301
Registered: November 2008
Senior Member
Oblivion wrote on Wed, 06 June 2018 17:17
Did you see the first screenshot, or applied the patches?

I saw some screenshots and patches.

Oblivion wrote on Wed, 06 June 2018 17:17
Instead of using a single EditString, it uses an array with per-row directory selectors. Namely, ">" buttons.

Some benefit of current design is ability to copy/paste "Package nests" as a whole string, for example.

I attached some patch to the previous message, which may add some functionality for current design, instead of replacing it.

Aesthetically, your proposed design may look interesting, of course.

I just tried to compare current and new proposed design, based on some possible use cases.

I guess, there are other people who may decide about such changes, as well as express their opinion about this, if needed.

[Updated on: Wed, 06 June 2018 20:20]

Report message to a moderator

Re: [PROPOSAL] Redesigned Assembly Setup Dialog [message #49959 is a reply to message #49958] Wed, 06 June 2018 20:24 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1091
Registered: August 2007
Senior Contributor
Hello Sender_Ghost,
Quote:

I just tried to compare current and new proposed design, based on some possible use cases.

I guess, there are other people who may decide about such changes, as well as express their opinion about this, if needed.


Of course, this is just a proposition, and thank you very much for taking time and commenting on it.
As for the copy paste option you've mentioned: It is really easy to add that too. I'll update the patch asap. Smile

Again, thank you very much!

Best regards,
Oblivion


Re: [PROPOSAL] Redesigned Assembly Setup Dialog [message #49960 is a reply to message #49924] Wed, 06 June 2018 21:14 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1091
Registered: August 2007
Senior Contributor
Hello,
It should now be possible to copy/paste the selected nests as a semicolon delimited single string.

Best regards,
Oblivion.


[Updated on: Wed, 06 June 2018 21:21]

Report message to a moderator

Re: [PROPOSAL] Redesigned Assembly Setup Dialog [message #49971 is a reply to message #49960] Fri, 08 June 2018 15:48 Go to previous messageGo to next message
Klugier is currently offline  Klugier
Messages: 1075
Registered: September 2012
Location: Poland, Kraków
Senior Contributor
Hello Oblivion,

I do not like the new UI - it doesn't look great and it is a little bit overwhelming. I believe we should keep it like it is and add the possibility to display nests array in separate Window. The nest still will be displayed as EditString, but it can be modified as ArrayCtrl. I was thinking about adding buttons like we do in Android builder:

index.php?t=getfile&id=5607&private=0

Sincerely,
Klugier


U++ - one framework to rule them all.

[Updated on: Fri, 08 June 2018 15:48]

Report message to a moderator

Re: [PROPOSAL] Redesigned Assembly Setup Dialog [message #49972 is a reply to message #49971] Fri, 08 June 2018 16:53 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1091
Registered: August 2007
Senior Contributor
Hello Klugier,

Thank you for commenting on my proposal!

Quote:

I do not like the new UI - it doesn't look great and it is a little bit overwhelming. I believe we should keep it like it is and add the possibility to display nests array in separate Window. The nest still will be displayed as EditString, but it can be modified as ArrayCtrl. I was thinking about adding buttons like we do in Android builder:


My main frustration with the original layout is that it makes somewhat harder to modify and reorganize nest paths (especially when there's a handful of them). So, I am actually OK with the EditString as long as there is a way to modify and rearrange the paths easily. Your (and Sender Ghost's) suggestion makes sense.

So maybe my new proposal can be broken into two parts:

1) Add an additional button (as shown in the Android Builder you've posted) that will open a dialog where the nests can be added, deletede, insterted, rearranged, using an arary ctrl.

2) Add the existing assemblies to the places section of the invoked filesel (in arrayctrl rows). Or use the second button to popup a menu (similar to Find window in theIde) that'll let us select from the existing assemblies (something similar to shortcuts).

What do you think?

Best regards,
Oblivion


[Updated on: Fri, 08 June 2018 16:57]

Report message to a moderator

Re: [PROPOSAL] Redesigned Assembly Setup Dialog [message #49974 is a reply to message #49972] Fri, 08 June 2018 17:40 Go to previous messageGo to next message
Klugier is currently offline  Klugier
Messages: 1075
Registered: September 2012
Location: Poland, Kraków
Senior Contributor
Hello,

Here is my vision of the feature:
index.php?t=getfile&id=5608&private=0

If you provide the .diff I can commit it to trunk, but firstly I need to check that it works as expected. To generate .diff you need to checkout upp repository - the instruction you can find on https://www.ultimatepp.org/www$uppweb$svnInstall$en-us.html.

________________
Edit: The buttons of course should be on the right site. BTW, I like the progress Microsoft do in similar area (System environment settings) between Windows 8 and Windows 10 Smile

Sincerely,
Klugier


U++ - one framework to rule them all.

[Updated on: Fri, 08 June 2018 17:46]

Report message to a moderator

Re: [PROPOSAL] Redesigned Assembly Setup Dialog [message #49975 is a reply to message #49974] Fri, 08 June 2018 20:55 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1091
Registered: August 2007
Senior Contributor
Hello Klugier,

Here is the assembly setup patch.
If you need something more simple or sophisticated, please let me know Smile

Best regards,
Oblivion


[Updated on: Fri, 08 June 2018 20:56]

Report message to a moderator

Re: [PROPOSAL] Redesigned Assembly Setup Dialog [message #49976 is a reply to message #49975] Fri, 08 June 2018 21:15 Go to previous messageGo to next message
Klugier is currently offline  Klugier
Messages: 1075
Registered: September 2012
Location: Poland, Kraków
Senior Contributor
Hello,

There is a bug at least on my machine (Latest neon). When the list is opened you can click on it and the empty entries will be created. We shouldn't create new entry where there is no content associated with it.

For me the button associated with path selection should be always visible not only in edit mode.

Sincerely,
Klugier


U++ - one framework to rule them all.
Re: [PROPOSAL] Redesigned Assembly Setup Dialog [message #49977 is a reply to message #49976] Fri, 08 June 2018 21:24 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1091
Registered: August 2007
Senior Contributor
Quote:

For me the button associated with path selection should be always visible not only in edit mode.


Of course, this can be changed. But TheIDE's configuration dialogs usually hide the path selector until the array is in edit mode.
Wouldn't it be inconsistent with the other dialogs?

Quote:


There is a bug at least on my machine (Latest neon). When the list is opened you can click on it and the empty entries will be created. We shouldn't create new entry where there is no content associated with it.


I'll look into it.



Best regards,
Oblivion




[Updated on: Fri, 08 June 2018 21:26]

Report message to a moderator

Re: [PROPOSAL] Redesigned Assembly Setup Dialog [message #49980 is a reply to message #49976] Sun, 10 June 2018 15:56 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1091
Registered: August 2007
Senior Contributor
Hello Klugier,

I've updated the patch.

- The new version keeps the original layout intact, and adds an additional button to the right. The rightmost button now opens up a "nest editor". and it is completely optional.
- The nest editor does not allow empty rows.
- Both directory selectors now show the existing assemblies in their places pane.

As a side note: IMO ArrayCtrl needs an IsEmpty() method (for coherency and convenience). Is there any rationale behind not implementing it?

Best regards,
Oblivion


[Updated on: Sun, 10 June 2018 16:01]

Report message to a moderator

Re: [PROPOSAL] Redesigned Assembly Setup Dialog [message #49990 is a reply to message #49980] Wed, 13 June 2018 07:21 Go to previous messageGo to next message
mirek is currently offline  mirek
Messages: 13975
Registered: November 2005
Ultimate Member
IDK. If this is going to be changed, I would rather like the original proposal (list of directories in the first dialog), with option to write it as text... (or maybe with both text edit and list - harder by doable).

I have not checked the patch yet, but I would like to remind that the order is important and the first nest is important. Therefore, drag&drop (and maybe up/down buttons) for ordering is essential. Replacing directory is not. Remove/Add is enough IMO.

[Updated on: Wed, 13 June 2018 07:21]

Report message to a moderator

Re: [PROPOSAL] Redesigned Assembly Setup Dialog [message #49991 is a reply to message #49990] Wed, 13 June 2018 08:15 Go to previous messageGo to next message
Oblivion is currently offline  Oblivion
Messages: 1091
Registered: August 2007
Senior Contributor
Hello Mirek,
Quote:

IDK. If this is going to be changed, I would rather like the original proposal (list of directories in the first dialog), with option to write it as text... (or maybe with both text edit and list - harder by doable).

I have not checked the patch yet, but I would like to remind that the order is important and the first nest is important. Therefore, drag&drop (and maybe up/down buttons) for ordering is essential. Replacing directory is not. Remove/Add is enough IMO.


It's up to you to decide, I can implement that one again.
But the latest patch already has both the EditString and the list of directories (rows are editable too), the list is not removed (It opens as an optional dialog).
I am aware of the nest order,of course. And the proposed patch let's you re-arrange the nest order (using the ArrayCtrl standard context menu and keys), keeps the original layout, allows the nests list to be copied as a single string.

I can also add D&D, if required.

IMO basically it only improves the existing dialog, with no functionality loss.

index.php?t=getfile&id=5611&private=0

Best regards,
Oblivion


[Updated on: Wed, 13 June 2018 13:00]

Report message to a moderator

Re: [PROPOSAL] Redesigned Assembly Setup Dialog [message #49994 is a reply to message #49976] Thu, 14 June 2018 03:12 Go to previous messageGo to previous message
Sender Ghost is currently offline  Sender Ghost
Messages: 301
Registered: November 2008
Senior Member
Hello Klugier.

Klugier wrote on Fri, 08 June 2018 19:15
For me the button associated with path selection should be always visible not only in edit mode.

Attached some patch (based on 11995 revision), which may implement some visible button for path selection, as example. I guess, possible to use other assigned keys for menu, but as is.

Some issue was how to use unique keys for ArrayCtrlDirs (based on ArrayCtrl class) and EditDir (based on EditString class) menus. For example, the "Delete" (K_DELETE) key for "Erase" in EditField is also used as "Delete %s\tDelete" for ArrayCtrl. Therefore, I tried to re-implement some menu for ArrayCtrlDirs, based on ArrayCtrl::StdBar(Bar& menu) method.

Possible to rename classes, methods, etc., and/or place them to other file(s), if needed.

Edit:
Added "namespace Upp" for uppsrc/ide/MethodsCtrls.cpp.
Fixed ArrayCtrlDirs::DoRemoveRow and ArrayCtrlDirs::DoRemoveRows methods, when lost focus for empty ArrayCtrlDirs, in this case.

[Updated on: Sat, 16 June 2018 18:26]

Report message to a moderator

Previous Topic: TheIDE remote package dependencies proposal - dealing with baazar
Next Topic: Change output directory
Goto Forum:
  


Current Time: Thu Mar 28 13:01:51 CET 2024

Total time taken to generate the page: 0.02229 seconds