From 0f31b19c1a4208e3021259ccba85889a7a29add5 Mon Sep 17 00:00:00 2001 From: vsv Date: Fri, 26 Jun 2020 12:26:32 +0300 Subject: [PATCH] Issue #3236: Provide icons for extrusions --- src/FeaturesPlugin/extrusion_widget.xml | 2 + src/FeaturesPlugin/extrusionfuse_widget.xml | 2 + src/FeaturesPlugin/revolution_widget.xml | 2 + src/FeaturesPlugin/revolutionfuse_widget.xml | 2 + .../ModuleBase_WidgetMultiSelector.cpp | 10 +++- src/PartSet/PartSet_WidgetSketchCreator.cpp | 10 +++- src/PartSet/PartSet_icons.qrc | 52 +++++++++--------- src/PartSet/icons/extrusion_edge32.png | Bin 0 -> 1139 bytes src/PartSet/icons/extrusion_face32.png | Bin 0 -> 1518 bytes src/PartSet/icons/extrusion_vertex32.png | Bin 0 -> 755 bytes 10 files changed, 53 insertions(+), 27 deletions(-) create mode 100644 src/PartSet/icons/extrusion_edge32.png create mode 100644 src/PartSet/icons/extrusion_face32.png create mode 100644 src/PartSet/icons/extrusion_vertex32.png diff --git a/src/FeaturesPlugin/extrusion_widget.xml b/src/FeaturesPlugin/extrusion_widget.xml index 138b4dca3..97e02b9c3 100644 --- a/src/FeaturesPlugin/extrusion_widget.xml +++ b/src/FeaturesPlugin/extrusion_widget.xml @@ -6,6 +6,7 @@ 2. An existing sketch face or contour. Extrusion will be filled by it.<br /> 3. An existing result shape of kind: wires/edge/vertices. Extrusion will be filled by it." shape_types="Vertices Edges Faces" + type_icons=":/icons/extrusion_vertex32.png :/icons/extrusion_edge32.png :/icons/extrusion_face32.png" default_type = "2" use_choice="true"> @@ -14,6 +15,7 @@ label="Base objects:" tooltip="Select a base objects" shape_types="Vertices Edges Faces" + type_icons=":/icons/extrusion_vertex32.png :/icons/extrusion_edge32.png :/icons/extrusion_face32.png" default_type = "2" use_choice="true" concealment="true"> diff --git a/src/FeaturesPlugin/extrusionfuse_widget.xml b/src/FeaturesPlugin/extrusionfuse_widget.xml index 7596c09e7..78b9eb131 100644 --- a/src/FeaturesPlugin/extrusionfuse_widget.xml +++ b/src/FeaturesPlugin/extrusionfuse_widget.xml @@ -7,6 +7,7 @@ 2. An existing sketch face or contour. Extrusion will be filled by it.<br /> 3. An existing result shape of kind: wires/edge/vertices. Extrusion will be filled by it." shape_types="Vertices Edges Faces" + type_icons=":/icons/extrusion_vertex32.png :/icons/extrusion_edge32.png :/icons/extrusion_face32.png" default_type = "2" use_choice="true"> @@ -16,6 +17,7 @@ icon="icons/Features/sketch.png" tooltip="Select a sketch face" shape_types="Vertices Edges Faces" + type_icons=":/icons/extrusion_vertex32.png :/icons/extrusion_edge32.png :/icons/extrusion_face32.png" default_type = "2" use_choice="true" concealment="true"> diff --git a/src/FeaturesPlugin/revolution_widget.xml b/src/FeaturesPlugin/revolution_widget.xml index d8ec39801..dd06cb433 100644 --- a/src/FeaturesPlugin/revolution_widget.xml +++ b/src/FeaturesPlugin/revolution_widget.xml @@ -6,6 +6,7 @@ 2. An existing sketch face or contour. Extrusion will be filled by it.<br /> 3. An existing result shape of kind: wires/edge/vertices. Extrusion will be filled by it." shape_types="Vertices Edges Faces" + type_icons=":/icons/extrusion_vertex32.png :/icons/extrusion_edge32.png :/icons/extrusion_face32.png" default_type = "2" use_choice="true"> @@ -14,6 +15,7 @@ label="Base objects:" tooltip="Select a base objects" shape_types="Vertices Edges Faces" + type_icons=":/icons/extrusion_vertex32.png :/icons/extrusion_edge32.png :/icons/extrusion_face32.png" default_type = "2" use_choice="true" concealment="true"> diff --git a/src/FeaturesPlugin/revolutionfuse_widget.xml b/src/FeaturesPlugin/revolutionfuse_widget.xml index bcde5490f..aaca18add 100644 --- a/src/FeaturesPlugin/revolutionfuse_widget.xml +++ b/src/FeaturesPlugin/revolutionfuse_widget.xml @@ -7,6 +7,7 @@ 2. An existing sketch face or contour. Extrusion will be filled by it.<br /> 3. An existing result shape of kind: wires/edge/vertices. Extrusion will be filled by it." shape_types="Vertices Edges Faces" + type_icons=":/icons/extrusion_vertex32.png :/icons/extrusion_edge32.png :/icons/extrusion_face32.png" default_type = "2" use_choice="true"> @@ -16,6 +17,7 @@ icon="icons/Features/sketch.png" tooltip="Select a sketch face" shape_types="Vertices Edges Faces" + type_icons=":/icons/extrusion_vertex32.png :/icons/extrusion_edge32.png :/icons/extrusion_face32.png" default_type = "2" use_choice="true" concealment="true"> diff --git a/src/ModuleBase/ModuleBase_WidgetMultiSelector.cpp b/src/ModuleBase/ModuleBase_WidgetMultiSelector.cpp index 9c4f6f9ef..5404dcf02 100644 --- a/src/ModuleBase/ModuleBase_WidgetMultiSelector.cpp +++ b/src/ModuleBase/ModuleBase_WidgetMultiSelector.cpp @@ -128,7 +128,15 @@ ModuleBase_WidgetMultiSelector::ModuleBase_WidgetMultiSelector(QWidget* theParen myMainLayout = new QVBoxLayout(this); ModuleBase_Tools::adjustMargins(myMainLayout); - QStringList aIconsList = getIconsList(myShapeTypes); + + QStringList aIconsList; + std::string aIcons = theData->getProperty("type_icons"); + if (aIcons.size() > 0) + aIconsList = QString(aIcons.c_str()).split(' ', QString::SkipEmptyParts); + + if (aIconsList.size() != myShapeTypes.size()) + aIconsList = getIconsList(myShapeTypes); + myTypeCtrl = new ModuleBase_ChoiceCtrl(this, myShapeTypes, aIconsList); myTypeCtrl->setLabel(tr("Type")); if (!myShapeTypes.empty()) { diff --git a/src/PartSet/PartSet_WidgetSketchCreator.cpp b/src/PartSet/PartSet_WidgetSketchCreator.cpp index 49d94f227..959179cc9 100644 --- a/src/PartSet/PartSet_WidgetSketchCreator.cpp +++ b/src/PartSet/PartSet_WidgetSketchCreator.cpp @@ -128,7 +128,15 @@ PartSet_WidgetSketchCreator::PartSet_WidgetSketchCreator(QWidget* theParent, std::string aTypes = theData->getProperty("shape_types"); myShapeTypes = QString(aTypes.c_str()).split(' ', QString::SkipEmptyParts); myIsUseChoice = theData->getBooleanAttribute("use_choice", false); - QStringList aIconsList = getIconsList(myShapeTypes); + + QStringList aIconsList; + std::string aIcons = theData->getProperty("type_icons"); + if (aIcons.size() > 0) + aIconsList = QString(aIcons.c_str()).split(' ', QString::SkipEmptyParts); + + if (aIconsList.size() != myShapeTypes.size()) + aIconsList = getIconsList(myShapeTypes); + myTypeCtrl = new ModuleBase_ChoiceCtrl(this, myShapeTypes, aIconsList); myTypeCtrl->setLabel(tr("Type")); if (!myShapeTypes.empty()) { diff --git a/src/PartSet/PartSet_icons.qrc b/src/PartSet/PartSet_icons.qrc index 98eb992f7..74a83a9af 100644 --- a/src/PartSet/PartSet_icons.qrc +++ b/src/PartSet/PartSet_icons.qrc @@ -1,25 +1,27 @@ - - - icons/activate.png - icons/angle_32x32.png - icons/concealed_on.png - icons/concealed_off.png - icons/deactivate.png - icons/edit.png - icons/exec_state_failed.png - icons/exec_state_invalid_parameters.png - icons/hand_point.png - icons/move_to_end.png - icons/sketch_shape.png - icons/expression.png - icons/paper_roll.png - - icons/group_edge.png - icons/group_face.png - icons/group_solid.png - icons/group_vertex.png - icons/toWork.png - icons/isFailed.png - icons/hasWarning.png - - + + + icons/activate.png + icons/angle_32x32.png + icons/concealed_on.png + icons/concealed_off.png + icons/deactivate.png + icons/edit.png + icons/exec_state_failed.png + icons/exec_state_invalid_parameters.png + icons/hand_point.png + icons/move_to_end.png + icons/sketch_shape.png + icons/expression.png + icons/paper_roll.png + icons/group_edge.png + icons/group_face.png + icons/group_solid.png + icons/group_vertex.png + icons/toWork.png + icons/isFailed.png + icons/hasWarning.png + icons/extrusion_edge32.png + icons/extrusion_face32.png + icons/extrusion_vertex32.png + + diff --git a/src/PartSet/icons/extrusion_edge32.png b/src/PartSet/icons/extrusion_edge32.png new file mode 100644 index 0000000000000000000000000000000000000000..6a9607fb13dc1a6464b947dbcd7fdd21c3089f58 GIT binary patch literal 1139 zcmV-(1dRKMP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!2kdb!2!6DYwZ941PDn)K~z{r#aG>H z990ybuib94lgaM7S*K+i#l+U8vBXv?eo(atiuh0=U_hZ&1fft-@I~;=ClN&a2bzin z3wfy22Ok6lD@HA8im0`0Dg7XpAlY^@yV>3Oxc<(aJF`2x2@+-{KlshL_w2IgoZmh7 z-dUM3CT%4YVYduhp1`J-Kt7ev!Mq2$+>soajT4Y%O=2t-2nl=$^Fc7{526HQSw=jO zj4V^7KY@?H+2B3^30#A@AN&rq$d?d@dliu7(D5mPzbnQR{3)0pz$LIBDm)0j&zq2{ z=Lmx5!Q0?F=*V-y9tBp{{*S?sRx4I zn9Y&@Z;)i8rnJE%7z957N&W4eOVF-9j%kp3U;#`TobV`^2ESoPtN#QEY_Rr1olyQo zVUvP4A8>{qp#nYClla4bpI5FlOXMT+W$#03er7t3;doO1WKT1?FGW> zNq#>VCPG;K9ORE~SxSIc&zr6toG>G7zvSmtSS3e7(8WXN|9QwyJ0OPj5_m<}So3MJrYKl3G2IMkI}>8f7b2d(Y>w{ym%tWC zmrsNp1Ex+C)6IakADwz<`K$}7umO%_-oTR*nAf%J!oAx{ded*Z9`o34eY{ji=d%sJ z(cCpOR@^tdw>+9H53f3Q<52O5-4nyR%qy!`m!CHe@0m3Al+8>j>-f&ItFHYJe(!6@ zf09CUBPOYKviP$ry9eJkkN-BVKcMb4$0vSYs$5yEuX#I+(tR%Typ`JB6(ge?`2iz; zYh}4=)$4A_D2(9laI1C8Dhv)6nx50JY}-G*_Iak_R!HTSk-)kNL<#JldwOcYzI0LZ z(vtIJKi<0Vv^IXqJr_wE7mX;mQuc(S*f-3&vSU6#? zU#KpoU;J_UTgc!2mKC8Vv+Fl+sP`B{g_New_>A32Ybi_341U$9*?5^?I~AOr=>h!` zeYdq%JK!@3A7}ZNby`ic)oN`=5`U#qDOW{uB;PnJA=A8r5u002ovPDHLk FV1lM?9033T literal 0 HcmV?d00001 diff --git a/src/PartSet/icons/extrusion_face32.png b/src/PartSet/icons/extrusion_face32.png new file mode 100644 index 0000000000000000000000000000000000000000..bd4b9251dd6ee0cc24b8eeed15e1cf66b2e141e2 GIT binary patch literal 1518 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!2kdb!2!6DYwZ941%pXMK~z{r#g<)c z6jd08&;0D{Zns@_E0O{h)C4Il&>{`Q7^xK{{tzX^APE{s6uc3Im=G^WR4z=oQExN` zE?8nBL@tnkKZq!ZsRb(%sZfguv?f?vLut3&zs?-rcXnoXwo;s;#5Z})nK?6azVAEd zJLildr4;|C#&keY6zA&i`Y)X>ao~DJ$5bK~L-{V~0%0F5Mc5-AN-@Hf;tce zmx@WKD6gSpryJ;i-Lx|vLY3n6O;9&@(;WfMJ)@roE_)nUhH5Y92Q456D05!|ZA~SPDJ^AF{!xR)Z!`=udT`e;#aQ z1I77=akkS4lkQu#JL0li0@!|p4L(%{?g1tJaUa+Kb|d=V?Ute#Idgy;43o~)V!&nE z2L51!Pcf1CT}gj*pd@Tit;9;AJK8j+aGN=siWuK*?`>P zKjG9=J>c=%12~W45$B)s_Q%t73cV=EHl9CbX9Ff!2iqOF(R1$ou6t@4pyQ+adw@m3 zfx^~XjGn{g8e%6LfkE&!8^$3wdT)Pps223wr=iC6pGKT*_luR)0)2{+8qFU8Mma>^IuAP)Un3dP~Ul>D)-XMQgURXUbJ%Auv z*=Aab@&2EIMHq9AM)hb1cA#7Xxc`4rp<0#8DswOG?lY!59?y!GCuhWO*^;!mu2%d~ z&Jk-qGxw_K%I5t(JFJRVy27H$u#R2IYKw~wBx2n4dI7iEO)#!(sZKw)u{k^AP^+5k z%c*DL0snu!CjMhqc19KqN+o=#W^j947sl;yqH+P3teB5t*!})Z@(~ZVY zdyThzr}q4u(mqI8V(}Z! zVo|AC``@0PT2nM`>`Gax_bl+G^BHwUcg7y}Js4(fl5V|72Ai zv-|)aCuyATxg)SLqDX!3%;fOAMyuh-@xb}^R4~zRD!o!nz*4C>Xo(A>$< zP;Hg2mWL*U8>UCYcTY}RO4?}&B*lrgs%)>?*glx*?lDbE)wM{Fr-NyxvYHwU z=vrAglO4+DtV~ANLOME7N6btX?^Q@?=0-+F#MYj4{h;iM9fx;iN=S~DX>63>T(#2Utk8Hy+a24%f*43lxSL*6P-V(#~$g3tU903E_)+)9iVu1(|GKo$PDC|ceUA~15!%y7n{B^ Un+a literal 0 HcmV?d00001 diff --git a/src/PartSet/icons/extrusion_vertex32.png b/src/PartSet/icons/extrusion_vertex32.png new file mode 100644 index 0000000000000000000000000000000000000000..6988ae3903e64e35073089805b195ccf9dd2b369 GIT binary patch literal 755 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGizyJUazyWI3i3tDz0*FaOK~z{rwU<9= z6hRcmXO1fbQ{+VPuuBLepopD~h=PTsofbj_m89}dWnrNf7FP%g1}sE~q_C1eg4hHC zDp&{!h^P=qV{rx{Cy@|Q7{704*1Nr(*_qkP{@~;7zAQKId$TjMkxD611#-5rAEB-$ zH`_X6r)FXm+=kXs$OV0Cr;-9N=rF<+s1AK#&P7!nxB(48ipOAJ zL?>YdNXb@)G7YhadAMIqG6nbxkdi<45pj=BxPf~ zx^F_uaQ{BZcyR9ndhiDH8ET>c$+QdOejQ=~r%}K%^FG`i&;#;qev#b!;d%JdX2fFS( zp#A3%jzQe<7MY77UqHP3J0{*o`~RBjU~Cj!u(FN$^b`pwx^Jm1R zPHFd~dl>P!?K|=4Hf8JAR(&2-58t%Pr=b8?7FpN&^fGo??x4heG0xNpJN$n@Ae6W^odXB z#ha^^r9bZdX0X%S=KsQc^G_K)Yp9{Shx2)e&*y$4P=zmH26RPEaI}(69R$AvRpBfk lv-g|jh*szF>EFsB#6ML6AZzNus*(Tz002ovPDHLkV1g;4Q}X}- literal 0 HcmV?d00001 -- 2.39.2