New feature: Label on detail
All detail can have different labels.
Comments (157)
-
Account Deleted -
Account Deleted Is this a duplicate of
#158? -
repo owner Yes, looks like duplicate for me too.
-
repo owner Issue
#437was marked as a duplicate of this issue. -
- changed title to New feature: Label on detail
-
- changed version to 0.5.0
- changed component to Detail mode
-
Issue
#158was marked as a duplicate of this issue. -
Account Deleted I see that this is marked as already in the initial test build but I cant find this function available. Is it still being developed? I really love this program!
-
Issue
#503was marked as a duplicate of this issue. -
repo owner - removed version
- changed milestone to v0.5.0
-
repo owner I see that this is marked as already in the initial test build but I cant find this function available. Is it still being developed?
No, according to the guide Hacking:How To Report Valentina Bugs i recommend left this field empty. Many people don't understand what is mean.
I use this field for marking a first version where this bug was fixed. But many use for showing bugged version.
Instead of version field you should look at an issue status: new, open, resolved atc.
-
- attached TextOnDetail2.svg
-
- attached TextOnDetail3.svg
-
repo owner The image so small. :(
-
repo owner Is this issue about a label in center of detail only?
-
- attached TextOnDetail3.png
-
repo owner Two labels?
-
I thought we would start with something very specific, like two general sections of text made from several input fields.
Group 1:
- Company Name or Designer Name
- Pattern Name
- Pattern Number
- Client Name
- Date
Group 2:
- Pattern Piece Letter
- Pattern Piece Name
- "Cut " + numberToCut + " of Fabric" (if numberToCut=0 do not print)
- "Cut " + numberToCut + " of Lining" (if numberToCut=0 do not print)
- "Cut " + numberToCut + " of Interfacing" (if numberToCut=0 do not print)
-
Adding 'Text along Line or Curve' would be a separate tool in Detail. Adding Grainline would be a separate tool in Detail. Adding 'Text' to a passmark would be in the Passmark tool in Detail. Marking internal lines for Pockets or Darts would be a separate tool in Detail.
-
repo owner Adding 'Text along Line or Curve' would be a separate tool in Detail. Adding Grainline would be a separate tool in Detail.
Possible.
Marking internal lines for Pockets or Darts would be a separate tool in Detail.
Emm. After creating you can't change anything. You should add internal paths when create a detail.
-
repo owner I thought we would start with something very specific, like two general sections of text made from several input fields.
Can you make for us an image with Inkscape how do you look it. Because i still can't understand.
-
repo owner What i really care is rotation and size.
-
If the pocket and dart lines are included in the path when creating a Detail, how will the pocket and dart lines be prevented from having a seam allowance?
-
Question for another issue: If the pocket and dart lines are included in the path when creating a Detail, how will the pocket and dart lines be prevented from having a seam allowance?
Relative to this issue: Yes, rotation and size are super important. To make this simple maybe we can use the font family of the Operating system's default font?
-
Hi
I have solved in my shirt. From the pattern, I create different layouts. One for the fabric and one for interface, without seam allowance.
-
Nice! Can you add this to comments for your 'Complete Shirt' issue
#498https://bitbucket.org/dismine/valentina/issues/498/complete-male-shirt? -
repo owner If the pocket and dart lines are included in the path when creating a Detail, how will the pocket and dart lines be prevented from having a seam allowance?
You will add main path in one mode, change mode and will add internal paths.
-
repo owner I have solved in my shirt. From the pattern, I create different layouts. One for the fabric and one for interface, without seam allowance.
And an image too, because i don't understand.
-
repo owner Yes, rotation and size are super important. To make this simple maybe we can use the font family of the Operating system's default font?
Depend on decision we will use text or rich text component. I still don't know.
-
- attached TextOnDetail4.svg
-
repo owner How i see two groups should move separately?
-
Yes the placement & rotation of each group is separate.
-
repo owner Ok, now i see it more clear.
-
repo owner What about length of each field? Do you see restrictions?
-
30 chars max? Yes this is an arbitrary number but it seems reasonable.
-
repo owner 30 chars max?
Will depend on font size.
-
Well, the maximum character in the input field comes first. If it doesn't fit on the pattern properly the user should change the font size.
-
Roman,
Susan suggested that I implement this feature. I looked through the code a little bit and I guess this data will be somehow stored in the .val file via the VDomDocument class, but I am not sure where exactly (in which class) this data should be held during the app execution. Also, how would the user enter this data? I guess we need a separate dialog, which could be triggered by right clicking on the pattern in the Details mode, where you get a small popup with "Options" and "Delete", now we could add "Description" or something like that there. I am open to your suggestions.
-
A dialog is needed for the pattern data. Another dialog is needed for the pattern piece data.
Each pattern has this data, and it appears on each pattern piece:
- pattern designer or company - can contain letter, number, space, special characters
- pattern name - can contain letter, number, space, special characters
- pattern number - can contain letter, number, space, special characters
Each patternpiece has this data, and it appears only on that patternpiece:
- Patternpiece Letter (eg 'A') - Up to 3 characters. Can contain letters, numbers, no special characters or whitespaces, is case sensitive.
- Patternpiece Name (eg 'Front') - Can contain letter, number, special characters, whitespaces, is case sensitive.
- Material Type, Cut Number, Placement 3-tuple. Used to create text phrase, eg 'Cut 2 of Fabric'. Can have multiple. For a coat pattern piece example: 'Cut 2 of Fabric' then next text line is 'Cut 2 of Lining', then next line is 'Cut 1 of Interfacing', then next line is 'Cut 1 of Interlining'. For a quilting pattern piece example: 'Cut 100 of Solid Fabric 1', then next text line is 'Cut 50 of Plaid fabric', then next line is 'Cut 10 of Solid Fabric 2'
-
- Material Type - {'Fabric' || 'Lining' || 'Interfacing'|| 'Interlining' || user defined}. Can be up to 15 characters, letters, numbers, special characters, whitespaces, case sensitive
-
- Cut Number - Can be any integer string greater than 0, up to 3 characters. (More than 100 would be strange, but possible with quilting applications.)
-
- Placement - {'Cut on Fold' || ''}. If not blank add to end of text eg 'Cut 2 of Fabric on Fold'
-
repo owner Hi Bojan,
I must warn you that if our "easy" task was not so easy this task will be far from easy. :)
Ok. I will explain my vision.
Visual part:
- We need two QGraphicsTextItems because we need formatted text.
- Use html for formatting.
- Use should have possibility to change size of label.
- Still not sure if need to check label position. (inside/outside of detail).
- Maybe rotation.
- Detail is a parent of QGraphicsTextItem.
Dialog:
- I like idea with new tab. Because we have many fields.
- Each field has limitation.
- Validation fields.
- By default fields are empty.
- Support undo/redo command.
XML:
See example
<detail closed="1" id="238" name="Detail" supplement="1" width="1" mx="0.392615" my="-0.490769"> <node type="NodePoint" nodeType="Contour" idObject="226" mx="0" my="0"/> <node type="NodePoint" nodeType="Contour" idObject="227" mx="0" my="0"/> <node type="NodeSpline" reverse="1" nodeType="Contour" idObject="228" mx="0" my="0"/> <node type="NodePoint" nodeType="Contour" idObject="229" mx="0" my="0"/> <node type="NodePoint" nodeType="Contour" idObject="230" mx="0" my="0"/> <node type="NodeSpline" reverse="0" nodeType="Contour" idObject="231" mx="0" my="0"/> <node type="NodePoint" nodeType="Contour" idObject="232" mx="0" my="0"/> <node type="NodePoint" nodeType="Contour" idObject="233" mx="0" my="0"/> <node type="NodePoint" nodeType="Contour" idObject="234" mx="0" my="0"/> <node type="NodePoint" nodeType="Contour" idObject="235" mx="0" my="0"/> <node type="NodeSpline" reverse="1" nodeType="Contour" idObject="236" mx="0" my="0"/> </detail>
This is how looks like current detail in xml. Yes we have field name but don't use it.
- See class VDetail.
- Each field should have own attribute
- Because fields a lot better to create tag <label> and move them inside the tag. Possible way:
<detail> <label attr1="" attr2=""/> <node/> </detail>
- By default detail doesn't have tag label.
- If user make all field empty you should delete tag label.
Format conversion
We support special class that handle file conversion. All your changes should be possible to support with this class. That's the main reason why you will delete tag label if user did not use label.
-
Thanks to both of you, Susan and Roman, for useful comments. :)
Roman, the easy task was really easy, it took me about 30 minutes to do the programming and several hours to fight with Git/hg. :)
So I am not afraid of programming challenge at all, although I will probably have more questions once I study the code into more detail. :)
-
repo owner several hours to fight with Git/hg.
Ask me if need any help with mercurial.
-
OK, thanks. :) I know the basic commands, so while everything goes smoothly, there's no problem. :)
-
Roman, when I do some work and want to finish for the day (but the issue is not completed yet), do I only commit the files, or I also merge that to develop branch?
-
repo owner If i understood you correct you are talking about subversion style of working. When you use Distributed Version Control Systems (DVCS) like git or mercurial it is little bit a different story.
Here is my recommendations for you:
- Make a feature step by step and save your progress.
- Make commit only if you have finished a step. Don't need to make commit for unfinished step today. You can continue tomorrow.
- Each commit should be small as possible and contain one logical step of developing a feature. This will help me better understand your code. Sometime i see changes per each commit separately.
- Compiler should successfully build each commit you made.
- Make all your commits in feature branch. This mean all your changes in your local repository will be only in feature branch. When you will decide that all were done create a pull request. Merge your feature with my develop.
- Don't forget each day sync your repository and my and merge new code in develop -> to your feature branch. Fix all possible merge conflicts.
- You can push your feature branch to bitbucket. This will help me watch your progress and left comments. Don't hide your code until the end.
-
Thanks for these recommendations, it's more or less how I intended to work as well. I did some work yesterday, implementing a class to add pattern piece data. I will commit that. Loading the new information from .val files however failed, because the app does the XML structure check against a predefined schema, which will need to be changed I guess. How did you generate these schemas?
-
repo owner How did you generate these schemas?
Manually. I add part i need in new version.
-
So while the pattern piece code waits for inspection, I'd like to ask a few questions about the other group of texts, which if I understand correctly, will be the same on every detail:
-
This group has 5 parameters: companyName, patternName, patternNumber, clientName, dateOfLayout. These will be included in the VPattern class, right?
-
Can we use any of the existing XML tags from .val file structure to save some of these 5 parameters?
-
How will the dialog for editing these parameters be activated? Through the popup in detail view, like the detail dialog?
-
-
The pattern's XML tags should contain the information placed on each pattern (except dateOfLayout).
Maybe enter this data using the Main Menu/Pattern Piece/Pattern Properties dialog.
This dialog currently looks like this: -
repo owner Yes, Susan right. Use dialog Pattern Properties. But do it new tab.
-
repo owner Susan, what about rotation labels?
-
Rotation, placement, and font size (or scaling) -- these are all that is needed to make a nice label. We don't need italics, bold, or choice of font family if it makes the development for this feature too complicated.
-
- attached TextOnLabel.jpg
-
Choosing font family, size and bold/italic is not difficult to do. However, I think it would be necessary to enable user to choose font for every individual line of text separately from the others. So font size would be chosen by user and not determined automatically from the label size? How about rotation, what would be rotated, just the text or entire label or both? Also, looking at the attached image, would the label still be just rectangular or arbitrary shape?
-
repo owner I will repeat for you Susan's words.
We don't need italics, bold, or choice of font family if it makes the development for this feature too complicated.
Choosing font family, size and bold/italic is not difficult to do.
Not agree, i don't want to see Choosing font family. And other stuff (size, alignment and bold/italic) should be mandatory for some stings only. Don't try to make small editor here.
How about rotation, what would be rotated, just the text or entire label or both?
Rotate item with text inside it.
Also, looking at the attached image, would the label still be just rectangular or arbitrary shape?
Only rectangle.
-
You do realize that "We don't need italics, bold, or choice of font family if it makes the development for this feature too complicated." can be interpreted in two quite different ways? I am just trying to understand the requirements without any ambiguity.
Anyway, any suggestion to do label rotation? I mean what will user have to do to get the label rotated for certain angle.
-
repo owner As i told you before we need italic and centered text to be hardcoded. A user should not care about this. Same about font family. Default value will be enough. But ... .
If you really want make option about font family you can add it to global options. And save it to settings file. But dialog Detail is not place for this.
-
Don't get me wrong, hardcoded font styles are fine for me. I just didn't understand what Susan meant, so I asked for clarification.
-
repo owner You do all right. Ask if don't understand.
-
repo owner And custom font family option in global options is really not bad idea. If we can have it why not. This could fix problems in future.
-
Thanks, I will surely ask if I don't understand something.
-
As you may notice in looking at images of patterns, the labels on a pattern can reflect a company's branding though the use of font family, size, italics, regular/slim/bold, etc. It would be nice if Valentina assisted a patternmaker with their business branding by providing ability to control 100% of the look of the labels on the pattern pieces. However, I do not wish to sacrifice the development of Valentina for a perfect vision of a perfect product. So if it is difficult, don't do it. But if it is possible, it would make Valentina a professional tool for people who make their living by making patterns. Does this info help...probably not. But this is the user viewpoint on this issue, would be great if we had this ability.
-
If I read the question right, you are discussing whether an individual line of text needs it's own rotation?
Each of the two labels (pattern label and pattern piece label) should have its own placement and rotation, independent from the other. But an individual text line within a label doesn't need its own rotation. -
OK, how should the user perform rotation? When you click on the label in the detail mode, the label gets "selected" and the black dotted rectangle is drawn around it, with a small black square in the right-bottom corner for resizing. Should something similar be done for rotation?
-
Perhaps like it's done in Inkscape: - first click selects label and sets it into resize mode (small black square as indicator) - second click sets it to rotation mode (small black circle as indicator) - third click again back to resize mode - ...
-
Yes Inkscape has a nice visual solution. This would be good for setting the rotation angle to be a fixed angle.
But in a fully scalable pattern the rotation angle may need to be relative (not fixed).
There should also be an f(x) entry field, like -
repo owner Stop, stop, stop. Susan, can you show us an example where such a formula needed?
-
I think, Susan wants to add a certain angle formula to the little yellow labels, so that they stay in the same rotation state relative to the detail part it is assigned to.
I don't know, how pattern rotation is implemented right now, but an angle formula wouldn't really be necessary, if a pattern or detail part has its own internal top-bottom axis. I.e., this axis could be defined as a straight up-down line in relation to the root point of a pattern part. Then, if you could rotate and position a detail label in relation to this axis, it would always stay in the same position, regardless of what you do with the pattern or detail piece itself afterwards. Also, it could perhaps be much easier for Bojan to implement his label positioning code...
Just a rough thought here, there might occur problems when trying to implement this...
-
repo owner I think, Susan wants to add a certain angle formula to the little yellow labels, so that they stay in the same rotation state relative to the detail part it is assigned to.
Yes, i understand this.
I don't know, how pattern rotation is implemented right now, but an angle formula wouldn't really be necessary, if a pattern or detail part has its own internal top-bottom axis. I.e., this axis could be defined as a straight up-down line in relation to the root point of a pattern part. Then, if you could rotate and position a detail label in relation to this axis, it would always stay in the same position, regardless of what you do with the pattern or detail piece itself afterwards. Also, it could perhaps be much easier for Bojan to implement his label positioning code...
Something like this. A label object is child of detail object. This mean label's object always related to parent angle. By rotating detail you will rotate label too.
All this idea about formula was unexpected for me too.
-
Ok, agreed. We don't need a formula dialog for this!
-
So to sum the latest discussion up, the rotation should be done like in Inkscape, as Holger originally suggested?
-
repo owner So to sum the latest discussion up, the rotation should be done like in Inkscape, as Holger originally suggested?
If you mean this
Perhaps like it's done in Inkscape: - first click selects label and sets it into resize mode (small black square as indicator) - second click sets it to rotation mode (small black circle as indicator) - third click again back to resize mode - ...
Yes, i like idea about square/circle.
-
Yes, that's what I meant.
-
Yes, like Inkscape would be perfect.
-
OK, I did the rotation part, please check if this is a reasonable way to solve this problem.
-
repo owner OK, I did the rotation part, please check if this is a reasonable way to solve this problem.
Here is what i see when just open a file with your last code.
All labels have strange positions and are very small.
-
repo owner Did you test your code?
-
Of course I tested it. Is this one of the files, which come together with the code in the collection folder, so that I can try it myself?
-
repo owner Bugs:
- Moving a label move all labels.
- Changing size for a label change size of all labels.
- The same problem with rotation.
I like the way you show rotation. But i don't like speed. This is hard to explain, but your rotation is high more quick than in Inkscape.
-
repo owner Of course I tested it. Is this one of the files, which come together with the code in the collection folder, so that I can try it myself?
No, this file from issue
#519. -
I will take a look at it
-
repo owner I see only date in label, but each detail has field name i told you about. I expect to see that data there.
-
repo owner But i don't like speed. This is hard to explain, but your rotation is high more quick than in Inkscape.
Look, when i rotate object in Inkscape it allow me be very close to an object (a cursor almost inside the center). But your implementation became very crazy if i move a cursor inside an object shape. Inkscape is more natty in this case.
-
repo owner I'll wait update.
-
You have to enter the data first in pattern properties dialog
-
I suspect the rotation might be slow, because of insane amount of qDebug messages that are printed out to console after every small rotation
-
repo owner I suspect the rotation might be slow, because of insane amount of qDebug messages that are printed out to console after every small rotation
No, it unpredictable. Are you call Lite Parse after each moving a lable?
-
Yes, you are right, it was emitting rotation signal from mouseMoveEvent, which triggered LiteParse. I didn't notice this on simple pattern.
-
When I load the pattern from
#519, VToolDetail constructor gets called five times, is that normal? That's why you get five labels instead of one. -
repo owner When I load the pattern from
#519, VToolDetail constructor gets called five times, is that normal? That's why you get five labels instead of one.How many details do you see in the file? :)
-
I see 5. So which class encapsulates all the VToolDetails? The pattern info label has to be moved from VToolDetails into this class.
-
repo owner I see 5.
And
VToolDetail constructor gets called five times
Yes, all is normal.
-
repo owner So which class encapsulates all the VToolDetails?
What?
-
repo owner The pattern info label has to be moved from VToolDetails into this class.
Very, very, very bad idea.
What about idea about two labels related to a detail you don't understand?
-
Well if you have 5 details and pattern info label is a child of VToolDetail, you will get 5 pattern info labels. And 5 detail labels, when you enter some detail data. So you want each detail to have 2 labels (pattern info and detail specific data) for each detail? OK, so pattern info label size, position and rotation will have to be moved into the <detail> tag.
-
repo owner So you want each detail to have 2 labels (pattern info and detail specific data) for each detail?
Yes. :)
Why? Imagine next steps: Layout -> printing -> cutting. And each detail should fully contain this information. This data not only for screen.
-
Rotation should now be better (you rotate around circle, which is painted in the middle of the label). Regarding small and misplaced labels on the particular pattern: it looks to me that QGraphicsScene on which you have the details and labels, gets scaled some time after creating detail items. This causes misplacing. And labels are small because everything else is small (the node names for example). If I know when (and where in the code) the scene gets scaled, I might be able to fix the placements and scaling.
-
repo owner Rotation should now be better
Yes, exactly what i want. Thanks.
And labels are small because everything else is small (the node names for example).
I see. But why start positions are wrong?
Don't worry about label size. User can fix it. But for example now it is hard to understand which label is related to detail. Can you fix it?
-
I am sure I can fix that. From my observation, the qgraphicsscene has different boundingRect when labels are created than when it is displayed on the screen for the first time. I will investigate that, but it would be great if you can provide me any information about where the qgraphicsscene gets resized/scaled.
-
repo owner VMainGraphicsView
-
I studied the QGraphicsItem coordinates systems and I must say that the placement of the items in this application is very weird. For example, if I write out scenePos() for VToolDetail and its patternInfo label, I get the same value (scenePos should return the actual position of the topleft point of the item in the global scene). But these two items are drawn at completely different positions on the screen. If I understand coordinate systems correctly, those two should have their topleft points drawn at the same pixel, but they do not (I also checked that there is no transformation applied to any of these items). How is this possible?
-
OK, I think I found the solution. Right now, it is not possible to move the label outside its detail bounding box. If this is a problem, please let me know, so that I will fix this.
-
repo owner No, this is exactly what we need.
-
OK, great. :) I committed the changes, so you can check it out.
-
Roman, did you check the last commit of mine? Can I create a pull request?
-
Account Deleted Roman, did you check the last commit of mine?
No, i did not.
Can I create a pull request?
About what?
-
For merging the labels code into develop/main branch.
-
repo owner What is wrong with this? https://bitbucket.org/dismine/valentina/pull-requests/128/feature/diff
-
Oh, I didn't notice that one, sorry. :)
-
This looks to be done, please let me know if there is still anything to do regarding this issue.
-
repo owner Hi Bojan, this issue is far from done yet. I did not check your code for quite some time. First i want to see visual part.
-
repo owner - attached moving label.mp4
-
The last bug about label placement is corrected now
-
Should I build the feature branch in order to test this code?
-
repo owner You can if you wish, but use Bojan's fork.
-
repo owner What is the best way for me to test this code? Should I build the feature branch?
Exactly.
-
repo owner Susan, what means of field patternPieceLetter?
-
repo owner Also my mom says she need field where we can write information about size. For example additional field where pattern maker can left this information.
-
repo owner I have question about empty fields.
I don't like situation like this. To many free space inside the label. Can we do something about it?
-
repo owner Bojan, add option to hide field dateOfLayout.
-
Okay so we are adding a field to Group 1:
- Company Name or Designer Name
- Pattern Name
- Pattern Number
- Client Name
- Size
- Date
-
Roman - you would like the label information to be controlled on a per-row basis.
So that there can be data missing yet there are no skipped rows in a label.Example:
- Company Name = ''
- Pattern Number = 'X4567'
- Client Name = ''
- Size = 'L'
- Date = [option selected to hide date of layout]
will result in this label:
X4567
Size L -
repo owner Size
Ok, but we need text field not combobox. I want to write something like this: "XS-40-60-45". My mom says she uses this data (40-60-45) for checking patterns on paper.
-
repo owner Roman - you would like the label information to be controlled on a per-row basis. So that there can be data missing yet there are no skipped rows in a label.
Yes, exactly.
-
So user needs to enter the data, 30 chars max.
-
Empty space in the pattern label has been removed now, dateOfLayout field can now be hidden, the pattern size field has been added and labels are now displayed in the Layout mode as well. Please check if anything is still missing.
-
repo owner labels are now displayed in the Layout mode as well.
I see, but we don't need rectangles around label. I did not tell you because on develop stage they were useful.
-
You are right, they were useful, thanks. I will just delete the code, which generates those rectangles and commit.
-
How can I test the label feature ? What branch to build ?
-
repo owner Hi, you can't. The code that implement this feature is not in my repository.
Actually you have two options:
- Wait when we will merge pull request
#128. Then test develop branch. (Actually it is little bit late to test then.) - Go to https://bitbucket.org/BojanKverh/valentina-bojan/overview. Test feature branch.
- Wait when we will merge pull request
-
I'll wait your merge. The Bojan feature brach won't compile in MAC.
-
repo owner It should. Can you post error message?
-
Here is the whole set including some warnings
warning: unknown warning option '-Wunused-sanitize-argument'; did you mean '-Wunused-command-line-argument'? [-Wunknown-warning-option] ../../../../valentina-bojan/src/app/valentina/mainwindow.cpp:227:57: error: no member named 'CreateMeasurements' in 'MainWindow'; did you mean '::MainWindow::UpdateMeasurements'? connect(actionOpenTape, &QAction::triggered, this, &MainWindow::CreateMeasurements); ^
~~~~~~~ ::MainWindow::UpdateMeasurements ../../../../valentina-bojan/src/app/valentina/mainwindow.h:320:24: note: '::MainWindow::UpdateMeasurements' declared here bool UpdateMeasurements(const QString &path, int size, int height); ^ ../../../../valentina-bojan/src/app/valentina/mainwindow.cpp:231:72: error: no member named 'Preferences' in 'MainWindow' connect(actionPreferences, &QAction::triggered, this, &MainWindow::Preferences);~~^ In file included from ../../../../valentina-bojan/src/app/valentina/mainwindow.cpp:1: In file included from /Users/timo/kojan/build-Valentina-Desktop_Qt_5_6_0_clang_64bit-Debug/src/app/valentina/../../../../valentina-bojan/src/app/valentina/stable.h:47: In file included from /Users/timo/Qt/5.6/clang_64/lib/QtGui.framework/Headers/QtGui:3: In file included from /Users/timo/Qt/5.6/clang_64/lib/QtGui.framework/Headers/QtGuiDepends:3: In file included from /Users/timo/Qt/5.6/clang_64/lib/QtCore.framework/Headers/QtCore:4: In file included from /Users/timo/Qt/5.6/clang_64/lib/QtCore.framework/Headers/qabstractanimation.h:37: /Users/timo/Qt/5.6/clang_64/lib/QtCore.framework/Headers/qobject.h:224:9: error: static_assert failed "The slot requires more arguments than the signal provides." Q_STATIC_ASSERT_X(int(SignalType::ArgumentCount) >= int(SlotType::ArgumentCount), ^~~~~~~~~~~~~~~~~/Users/timo/Qt/5.6/clang_64/lib/QtCore.framework/Headers/qglobal.h:725:47: note: expanded from macro 'Q_STATIC_ASSERT_X' #define Q_STATIC_ASSERT_X(Condition, Message) static_assert(bool(Condition), Message) ^~~~../../../../valentina-bojan/src/app/valentina/mainwindow.cpp:227:5: note: in instantiation of function template specialization 'QObject::connect<void (QAction::)(bool), bool (MainWindow::)(const QString &, int, int)>' requested here connect(actionOpenTape, &QAction::triggered, this, &MainWindow::CreateMeasurements); ^ In file included from ../../../../valentina-bojan/src/app/valentina/mainwindow.cpp:1: In file included from /Users/timo/kojan/build-Valentina-Desktop_Qt_5_6_0_clang_64bit-Debug/src/app/valentina/../../../../valentina-bojan/src/app/valentina/stable.h:47: In file included from /Users/timo/Qt/5.6/clang_64/lib/QtGui.framework/Headers/QtGui:3: In file included from /Users/timo/Qt/5.6/clang_64/lib/QtGui.framework/Headers/QtGuiDepends:3: In file included from /Users/timo/Qt/5.6/clang_64/lib/QtCore.framework/Headers/QtCore:4: In file included from /Users/timo/Qt/5.6/clang_64/lib/QtCore.framework/Headers/qabstractanimation.h:37: /Users/timo/Qt/5.6/clang_64/lib/QtCore.framework/Headers/qobject.h:226:9: error: static_assert failed "Signal and slot arguments are not compatible." Q_STATIC_ASSERT_X((QtPrivate::CheckCompatibleArguments<typename SignalType::Arguments, typename SlotType::Arguments>::value), ^~~~~~~~~~~~~~~~~~~~~~~~~~~ /Users/timo/Qt/5.6/clang_64/lib/QtCore.framework/Headers/qglobal.h:725:47: note: expanded from macro 'Q_STATIC_ASSERT_X' #define Q_STATIC_ASSERT_X(Condition, Message) static_assert(bool(Condition), Message) ^~~~ In file included from ../../../../valentina-bojan/src/app/valentina/mainwindow.cpp:1: In file included from /Users/timo/kojan/build-Valentina-Desktop_Qt_5_6_0_clang_64bit-Debug/src/app/valentina/../../../../valentina-bojan/src/app/valentina/stable.h:47: In file included from /Users/timo/Qt/5.6/clang_64/lib/QtGui.framework/Headers/QtGui:3: In file included from /Users/timo/Qt/5.6/clang_64/lib/QtGui.framework/Headers/QtGuiDepends:3: In file included from /Users/timo/Qt/5.6/clang_64/lib/QtCore.framework/Headers/QtCore:4: In file included from /Users/timo/Qt/5.6/clang_64/lib/QtCore.framework/Headers/qabstractanimation.h:37: In file included from /Users/timo/Qt/5.6/clang_64/lib/QtCore.framework/Headers/qobject.h:40: In file included from /Users/timo/Qt/5.6/clang_64/lib/QtCore.framework/Headers/qobjectdefs.h:43: /Users/timo/Qt/5.6/clang_64/lib/QtCore.framework/Headers/qobjectdefs_impl.h:73:55: error: no type named 'Car' in 'QtPrivate::List<>' typedef typename List_Append<List<typename L::Car>,typename List_Left<typename L::Cdr, N - 1>::Value>::Value Value;~~^~~ /Users/timo/Qt/5.6/clang_64/lib/QtCore.framework/Headers/qobjectdefs_impl.h:73:69: note: in instantiation of template class 'QtPrivate::List_Left<QtPrivate::List<>, 2>' requested here typedef typename List_Append<List<typename L::Car>,typename List_Left<typename L::Cdr, N - 1>::Value>::Value Value; ^ /Users/timo/Qt/5.6/clang_64/lib/QtCore.framework/Headers/qobject.h:237:82: note: in instantiation of template class 'QtPrivate::List_Left<QtPrivate::List<bool>, 3>' requested here new QtPrivate::QSlotObject<Func2, typename QtPrivate::List_Left<typename SignalType::Arguments, SlotType::ArgumentCount>::Value, ^ ../../../../valentina-bojan/src/app/valentina/mainwindow.cpp:227:5: note: in instantiation of function template specialization 'QObject::connect<void (QAction::)(bool), bool (MainWindow::)(const QString &, int, int)>' requested here connect(actionOpenTape, &QAction::triggered, this, &MainWindow::CreateMeasurements); ^ 2 warnings and 5 errors generated. make[3]: [obj/mainwindow.o] Error 1 make[2]: [sub-valentina-make_first] Error 2 make[1]: [sub-app-make_first] Error 2 make: [sub-src-make_first] Error 2 22:01:02: The process "/usr/bin/make" exited with code 2. Error while building/deploying project Valentina (kit: Desktop Qt 5.6.0 clang 64bit) When executing step "Make" 22:01:02: Elapsed time: 00:09. -
Another try. I'm not absolutely which of these is the fatal one
valentina-bojan/src/app/valentina/mainwindow.cpp:227: error: no member named 'CreateMeasurements' in 'MainWindow'; did you mean '::MainWindow::UpdateMeasurements'? connect(actionOpenTape, &QAction::triggered, this, &MainWindow::CreateMeasurements);
valentina-bojan/src/app/valentina/mainwindow.cpp:231: error: no member named 'Preferences' in 'MainWindow' connect(actionPreferences, &QAction::triggered, this, &MainWindow::Preferences);
/Users/timo/Qt/5.6/clang_64/lib/QtCore.framework/Headers/qobject.h:224: error: static_assert failed "The slot requires more arguments than the signal provides." Q_STATIC_ASSERT_X(int(SignalType::ArgumentCount) >= int(SlotType::ArgumentCount),
/Users/timo/Qt/5.6/clang_64/lib/QtCore.framework/Headers/qobject.h:226: error: static_assert failed "Signal and slot arguments are not compatible." Q_STATIC_ASSERT_X((QtPrivate::CheckCompatibleArguments<typename SignalType::Arguments, typename SlotType::Arguments>::value),
/Users/timo/Qt/5.6/clang_64/lib/QtCore.framework/Headers/qobjectdefs_impl.h:73: error: no type named 'Car' in 'QtPrivate::List<>' typedef typename List_Append<List<typename L::Car>,typename List_Left<typename L::Cdr, N - 1>::Value>::Value Value;
-
I built Bojan's fork, feature branch, in Qt 5.5.1 on Ubuntu 14.04 64-bit, without error. Most of the functionality is present, except these two areas:
- centering the text for pattern number, customer name, and date. Currently these fields are left-justified in Detail mode and Layout mode. (see attached .png files)
- date should be day month year. Currently the date is only the year in Detail mode and Layout moe. (see attached .png files)
-
- attached TextLabelOnDetail_1_20160721.png
Here is screenshot of Detail mode. Looks good except 1. all text should be centered, not left-justified. 2. Also the date should be day month year.
-
- attached TextLabelOnDetail_2_20160721.png
Here is screenshot of Layout mode. Looks good except:
- all text should be centered, not left-justified.
- the date should be day month year.
-
OK, I will correct those.
-
Now the texts should all be centered and date is day month year as requested.
-
repo owner @Stinde100, wait when Bojan merge my changes and try compile again. I also want hear you think about new labels.
-
OK, I'll wait for it.
-
repo owner No need to, already merged. :)
-
Great!
It looks stunning. This solves all pattern piece management problems and significantly enhances Valentina. All the basic stuff is included.
You have done a super job. Thanks.
A small suggestion, personally I would like to have an optional info field of the used measurement table in the pattern properties. I need this info for verification purposes, if I use the same printed patterns after a year or so. By checking critical measurements of the customer, I might not need to reprint the patterns.
-
repo owner A small suggestion, personally I would like to have an optional info field of the used measurement table in the pattern properties. I need this info for verification purposes, if I use the same printed patterns after a year or so. By checking critical measurements of the customer, I might not need to reprint the patterns.
Can you try to explain again? Because i can't understand what exactly do you want. Should this information be printed on detail?
-
Timo, I am glad that you like this feature. :) It should be no problem adding another info field to pattern properties, but just like Roman I would also like to know, if it should be printed on the detail too.
-
- attached label_with_measurement_table.png
I mean to add one line for measurement table. It could be optional like the date
-
repo owner Ok, now i understand. So, we need an option to hide/show the field. But name of the field take automatically. Hide the field if measurements were not connected to pattern.
-
Let me see, if I understand it correctly. :) There is a <measurement> tag in the VPattern DOM tree (which contains the file, from where the measurements are read, if I am not mistaked) and you would like to have a checkbox to display/hide this file name in pattern properties dialog. If there is no <measurement> tag, then this checkbox is not shown at all.
-
Optional measurements table field has been added to the pattern label.
-
repo owner - attached pattern.zip
-
Thanks.
-
repo owner - changed status to resolved
Merged in BojanKverh/valentina-bojan/feature (pull request
#128)Resolved issue
#24. New feature: Label on detail.→ <<cset 774206f7ab5d>>
-
repo owner Merged in BojanKverh/valentina-issue24/feature (pull request
#134)Fixed issue
#24. New feature: Label on detail.→ <<cset 8f98e14b13f8>>
-
repo owner Merged in BojanKverh/valentina-issue24/feature (pull request
#134)Fixed issue
#24. New feature: Label on detail.→ <<cset 8f98e14b13f8>>
-
repo owner Merged in BojanKverh/valentina-issue24a/feature (pull request
#138)Improvements for feature "New feature: Label on detail" ref
#24.→ <<cset 0a767560499f>>
-
repo owner Merged in BojanKverh/valentina-issue24a/feature (pull request
#138)Improvements for feature "New feature: Label on detail" ref
#24.→ <<cset 0a767560499f>>
-
repo owner - removed milestone
Removing milestone: v0.5.0 (automated comment)
- Log in to comment
Add identifying labels on each pattern piece in Detail View. Labels contain: 1. Letter/Identifier 2. Pattern Piece Name 3. Pattern name or number 4. # of pieces to cut in fabric 5. # of pieces to cut in lining (if any) 6. # of pieced to cut in interfacing (if any)