Combine 'Pattern Piece' & 'Add Details' tool groups

What does everyone think about combining the ‘Add Details’ and ‘Pattern Piece’ tool groups into a single ‘Piece’ group? There will be only one group for creating/editing Piece Mode objects instead of two. The icons are greyed out when they’re not applicable, so IMHO there’s no downside.
image image

2 Likes

Makes it easier to enable / disable the whole page tabs when switching modes VS having to enable / disable each tool. Same applies for the Tools menu, and the Tools Toolbar.

Ideally… and I haven’t done it yet because it’s a lot of recoding… but the toolbox should remove all the page tabs that don’t belong to the mode selected. In other words if you’re in piece mode, the ONLY tools you would see are the Pattern Piece tab tools, and vice versa… if in Draft mode the Pattern Piece and Layout tabs would be removed. In other words you would have to rebuild the toolbox each time you switch modes removing or adding applicable tabs.

Oh… Should note too, that I have plans for more tools to go in the Pattern Piece tab that only apply in Piece mode.

1 Like

It’s not much of one, but the downside I’m seeing is that it would be mixing drafting mode tools in the same compartment as post-drafting tools. I’d almost rather put the Pattern Piece & Layout tools together.

… & what Douglas just described while I was typing sounds even better. Especially considering the problem he mentioned with the OP idea.

:unicorn:

1 Like

Exactly… that’s why they’re split into Draft and Piece tools.

And again, as I add more Piece tools it will get ridiculous to have to keep track of which tools need to be enabled / diisabled. Much easier to just disable a parent item and let it disable it’s children.

I may look again at making the toolbox dynamic and it would solve a lot. I could get rid of a lot the enable / disable code. It would make adding new tools easier, as in most cases the parent tab would already be handling its enabled property.

2 Likes

Oh, but while we’re speaking of combining toolboxes, I often click Operations instead of Add Details, so I like the idea of combining those also :grimacing:

:unicorn:

1 Like

I will note though that I do struggle with the Add Details… as some details can only be added in Draft mode, while others (including future ones) are added in Piece mode. I struggle even more with having to add anchor points in draft mode to anchor a label or grainline in Piece mode. Ideally we should just be able to anchor a label to any point in Piece mode without having to create a new point on top of another point. But I digress…

2 Likes

This area seems to be the hardest for new users to learn. It’s definitely the hardest to explain.
Even if some tools work with Draft mode, others with Piece mode, only the tools that are available would be enabled in the single tool area for creating & editing workpieces, the unavailable are greyed out. And yes I agree it would be NICE to have a tool bar that is completely rewritten to only show the currently available tools.
But I’m asking to help onboard new users.

1 Like

Had a light bulb moment of thinking “Inside the box”. I though of a simple way to dynamically change the toolbox to match the mode. Currently the toolbox consists of a QDocker widget → QToolbox widget → QScrollArea widget → page widget → QToolButton widgets… all designed in Creator as part of the MainWindow.

Instead of having to create the Toolbox each time the mode is switched, I can create a separate QToolbox form ui for each mode with only the tools for THAT mode… in MainWindow create an instance of each toolbox, and then when the mode scene is switched, simply swap the toolbox widget in the dock. Bingo. No need to enable / disable any of the tool buttons. They can all stay enabled, as when the the toolbox is swapped the tool buttons are still in memory, just not visible, thus you can’t click those. Can get rid of a bunch enabling code too. Problem solved.

1 Like

Not the toolbar (or menus)… just the Toolbox. Really shouldn’t remove items from a toolbar or menu… it becomes even more confusing. Disabling is a preferred behavior. To that extent… new users are more apt to use the Toolbox. Once you’re familar with the tools you can dispense with the Toolbox in favor of a toolbar, menu item or key shortcut, and more workspace

1 Like

It sounds like what we need to know is what the timeline for a solution is, then we can reasonably judge which plan will be most serviceable, but not before. Unless it’s the default, which at the moment seems to be whatever strikes Douglas’s fancy.

OOh! & what about the Line toolset? Half of the tools in it is a Point placement tool, & the other half establishes a linear relationship between two disparate points, (Though folding it into Curve & Line might be better.) Mostly I don’t like the arrow tool having the chair in a toolbox.

1 Like

This is something I could do relatively quickly… provided we’re not moving all the tools around. Don’t forget there’s all the menus & toolbars. Separating the the toolbox into 3 is not a big deal. My suggestion is maybe to rename the “Add Details” in draft mode as “Pattern Piece” or just “Piece”, and then the only tab in Piece mode would be “Details”? My reasoning being, you add details to a pattern piece, not a draft block. And the tools that are in the “Add Details” now, while needing to stay in the draft mode, deal with pattern pieces.

Aaah… yup 2 tools. One makes a line, the other 50% makes a point. :slight_smile:

That being said… most of the tools just create a point. Which if we were to put all of them in the Point page, it would get very large, I think it would be even more confusing.

2 Likes

My ha’penny’s worth…

I like all of the suggestions made. And I also think that the Tool Pointer tool doesn’t need to be in each section but rather as a fixture on it’s own above all the sections and not in each section:

image

And then… I don’t see why the Elliptical Arc tool needs to be in a section on it’s own. It could be in the Arc section, since it is an arc.

1 Like

The Toolbox doesn’t work that way… when you select a tab only THAT page is open. It’s possible I could try and put the Arrow above the Toolbox widget. There would be the added benefit of getting rid of more code! Right now there are 10 arrows that need to be maintained… only need one.

I was just thinking the same thing. Only argument might be in the future if other arc tools are added. If you start to put to many items in a given section it starts to get crowed and confusing where items are. It’s like menus… If you start having more than 10 related items it’s time to create a sub menu.

2 Likes

Okay, @slspencer I believe this would fulfill the goal of not confusing the user as to which toolbox to use. But you did bring up the counterpoint that it leaves the toolbars confusing, & since we had a recent question come up, (Need help! Tangent between 2 arcs and any point on them ,) in which a new user had all the toolbars BUT the toolbox open Douglas’s point that new users generally use the toolbox is softened. But since that user appears to be Polish, maybe they just don’t feel a need to have more unfamiliar words cluttering their screen.

1 Like

My opinion, in any case is to keep Draft mode tools separate from Piece tools, and not mix them in the Toolbox, menus or toolbars.

That’s a translation issue… not a UI issue. The solution here is to update the translations, not move tools to have less English words.

1 Like

Ok. Here’s my idea on rearranging the Toolbox dock to adjust to the selected mode, as well as moving the arrow pointer tool out of each page.

For those keeping track… each Dock view would consist of:

MainWindow
  QDockWidget (Toolbox)
    QVBoxLayout
      QStackedWidget 
        QToolbutton (arrow)
        QWidget (Draft mode)
          QToolbox (draft tools)
                OR
        QWidget (Piece mode) 
          QToolbox (piece tools)
                OR
        QWidget (Layout mode) 
          QToolbox (layout tools)

new_toolbox

And this can go bye bye only need one arrow pointer…

toolButtonPointerList.append(ui->pointPointer_ToolButton);
toolButtonPointerList.append(ui->linePointer_ToolButton);
toolButtonPointerList.append(ui->curvePointer_ToolButton);
toolButtonPointerList.append(ui->arcPointer_ToolButton);
toolButtonPointerList.append(ui->ellipticalArcPointer_ToolButton);
toolButtonPointerList.append(ui->operationsPointer_ToolButton);
toolButtonPointerList.append(ui->detailsPointer_ToolButton);
toolButtonPointerList.append(ui->piecePointer_ToolButton);

for (auto pointer : toolButtonPointerList)
{
    connect(pointer, &QToolButton::clicked, this, &MainWindow::handleArrowTool);
}

I propose changing the “Add Details” page tab to “Add Piece”, and the “Pattern Piece” to “Details”… reason being you add a (Pattern) Piece from the draft mode, and you add details to a (Pattern) Piece in piece mode. Yes I now that technically add an internal path could be considered a “detail”, but this is one of the idiosyncrasies of the application that you can’t add one in Piece mode. Also keep in mind that the Piece mode → “Details” page will also be populated with other tools such as Text, Symbols, and Buttonholes.

I also would recommend leaving the Elliptical Arc page tab… reason being we may want to add other tools for creating an elliptical arc… such as in QCAD:

ellipses

3 Likes

It sounds like there has been very good ideas in this thread, and I don’t have much to contribute design-wise. I did want to say though that (speaking as a new user) I think this would help a lot. I have some experience with other CAD software in the past, so I was already familiar with the different “modes” style of operation but even with that foreknowledge the software is a bit overwhelming at first glance. So cutting down some of the clutter by hiding stuff not available in the current mode would help a lot. A similar thing could be done with the shortcuts at the top (currently basically everything is enabled by default) but a lot of that could be cut out of the default configuration and/or hidden based on the current mode (although not sure how hard that would be to implement code-wise).

The other thing I did want to mention that this will help with in a roundabout way is the issue of the minimum vertical size of the main window on the screen. I have a laptop with a somewhat small vertical resolution and the app was too tall to run on the main screen, I had to use a second monitor and run the app over on that monitor to actually use it. The main culprit of this is the toolbar down the side, so dropping a few menus out of each mode would have solved that useability issue.

3 Likes

I really like everything above :slight_smile: And the only reason why I suggested moving the Elliptical Arc to the other Arcs is because it has a whole section all on its own & shares some of the tools in the Arcs.

Why does this have to have the word Add tagged on? Why can’t it just be Pattern Piece, since it’s in the drawing mode and holds the tools to create those bits.

1 Like

Vote for both : +1 +1

1 Like

Be more specific… what do you mean “shortcuts” & “everything is enabled”? If you mean the toolbars / docks one can configure to no show those. by right clicking on the (blank) toolbar area and toggle which toolbars are displayed. Not sure if this can be configure to a default on a new install, but I can look into it.

Again… be more specific… are you referring to the toolbars? It would be relatively easy to only show the toolbars that apply in a given mode…

Well… If you refer to the pic I previously posted, that’s exactly what I did… draft mode looses 2 tab pages, and Piece & Layout modes have only 1 tab page each. BTW… the toolbar “down the side” is a Dock… similar to a toolbar widget, but with different properties. I only say this because you can move “toolbars” to the side like:

dock2

And if you want to get rid of the clutter… toggle off all the tool toolbars and the Toolbox dock except the Toolbox toolbar:

1 Like