Getting the proper formatting/display on .RES
-
Dear community,
I getting on fight with my .res file and I still don't get the result I want.
I would like to use 2 columns formatting and get the elements spreads on those columns, but for an unknown reason, the space filled by the columns are not as wide as the dialog itself.I really tried many options on the
GROUP mGRPAXIS
, withSCALE_H;
onREALSLIDER
elements or on the subgroups without success. Is that a limitation of the .RES / SDK in Python or is there a trick?
In the meantime, all the elements ofGROUP mGRPSCENE
are properly formatted.Here the code of the .res file and the result I'm getting as a screenshoot. It's a work in progress dialog, but I would really like to understand if there is a way to get this or not? Can the sliders columns be as wide as the dialog?
CONTAINER TmotionLab { NAME TmotionLab; GROUP { SEPARATOR { } STATICTEXT mPLUGIN_DEF { } SEPARATOR { } GROUP mGRPSCENE { DEFAULT 1; GROUP { STRING mPROJECT { ANIM OFF; SCALE_H; } } GROUP { COLUMNS 2; STRING mSCENE { ANIM OFF; SCALE_H; } LONG mTAKE { MIN 1; MAX 200; STEP 1; ANIM OFF; } } } GROUP mGRPAXIS { DEFAULT 1; SEPARATOR mSEP_GRP_A { NAME mAXIS_EN; LINE; SCALE_H; FIT_H; } GROUP { COLUMNS 2; LAYOUTGROUP; GROUP { STATICTEXT mENPOS { SCALE_H; } BOOL mEN_TX { ANIM OFF; SCALE_H; } BOOL mEN_TY { ANIM OFF; SCALE_H; } BOOL mEN_TZ { ANIM OFF; SCALE_H; } } GROUP { STATICTEXT mENROT { SCALE_H; } BOOL mEN_RX { ANIM OFF; SCALE_H; } BOOL mEN_RY { ANIM OFF; SCALE_H; } BOOL mEN_RZ { ANIM OFF; SCALE_H; } } } SEPARATOR mSEP_GRP_B { NAME mAXIS_MOTION; LINE; SCALE_H; FIT_H; } GROUP { COLUMNS 2; LAYOUTGROUP; GROUP { STATICTEXT mTRANSLATION { SCALE_H; } REAL mTX { MIN -100.0; MAX 100.0; UNIT PERCENT; CUSTOMGUI REALSLIDER; SCALE_H; } REAL mTY { MIN -100.0; MAX 100.0; UNIT PERCENT; CUSTOMGUI REALSLIDER; SCALE_H; } REAL mTZ { MIN -100.0; MAX 100.0; UNIT PERCENT; CUSTOMGUI REALSLIDER; SCALE_H; } } GROUP { STATICTEXT mROTATION { SCALE_H; } REAL mRX { MIN -100.0; MAX 100.0; UNIT PERCENT; CUSTOMGUI REALSLIDER; } REAL mRY { MIN -100.0; MAX 100.0; UNIT PERCENT; CUSTOMGUI REALSLIDER; } REAL mRZ { MIN -100.0; MAX 100.0; UNIT PERCENT; CUSTOMGUI REALSLIDER; } } } SEPARATOR { LINE; SCALE_H; } BUTTON mREMOVE_MOTION { ANIM OFF; } } } }
Thanks a lot,
Christophe -
Hi would it be possible to share your .str file and also your .h file?
Moreover just to be sure you are using this Resource file for a BaseList2D description and not a GeDialog, isn'it?
One thing to remember is that group scale according to their parent, but your first unnamed group is not scaled to SCALEFIT the all content.
Cheers,
Maxime. -
Hi @m_adam,
Good point, here the content for the both files.
This .res is for a BaseList2D so SCALEFIT do not apply there.I hope it will helps...
Thanks,Christophe
TmotionLab.res
STRINGTABLE TmotionLab { TmotionLab "Plugin"; mPLUGIN_DEF ""; mGRPSCENE "Scene informations"; mGRPAXIS "Axis"; mPROJECT "Project"; mSCENE "Scene "; mTAKE "Take "; mAXIS_EN "Enabling"; mAXIS_MOTION "Motion"; mENPOS "Translation"; mTRANSLATION "XYZ Translation"; mEN_TX "tX"; mEN_TY "tY"; mEN_TZ "tZ"; mROTATION "XYZ Rotation "; mENROT "Rotation "; mEN_RX "rX"; mEN_RY "rY"; mEN_RZ "rZ"; mTX "tX"; mTY "tY"; mTZ "tZ"; mRX "rX"; mRY "rY"; mRZ "rZ"; mREMOVE_MOTION "Remove motion"; }
And the
TmotionLab.h
,#pragma once enum { TmotionLab = 1000, mPLUGIN_DEF, mGRPSCENE = 1100, mGRPAXIS, mPROJECT = 1200, mSCENE, mTAKE, mSEP_GRP_A = 1300, mSEP_GRP_B, mTRANSLATION = 1400, mENPOS, mROTATION = 1450, mENROT, mEN_TX = 1500, mEN_TY, mEN_TZ, mEN_RX = 1600, mEN_RY, mEN_RZ, mTX = 2000, mTY, mTZ, mRX = 2200, mRY, mRZ, mREMOVE_MOTION = 5000, };
-
-
Oh! I missed this thread... did thought about searching LAYOUTGROUP, thanks a lot @ferdinand; I going to try this right away and keep you in touch!
Why all those tricks do not appears in SDK? maybe with a bunch of examples it will shorten the learning curve for a lot of people
Cheer,
Christophe -
Hi there,
I finally end up to format all the elements the way I wand thanks to @ferdinand's link. Indeed
STATICTEXT { JOINENDSCALE; }
is the trick to proper format your elements when you want to useCOLUMNS
inGROUP
.Here the result in picture,
And the code extract from the .str for whom are interested,
GROUP mGRPAXIS { DEFAULT 1; SEPARATOR { SCALE_H; } GROUP { DEFAULT 1; COLUMNS 4; STATICTEXT mPOSITION { SCALE_H; } STATICTEXT mENPOS { } STATICTEXT mROTATION { SCALE_H; } STATICTEXT mENROT { } STATICTEXT { JOINENDSCALE; } } GROUP { DEFAULT 1; COLUMNS 4; REAL mTX { MIN -100.0; MAX 100.0; UNIT PERCENT; CUSTOMGUI REALSLIDER; SCALE_H; } BOOL mEN_TX { ANIM OFF;} REAL mRX { MIN -100.0; MAX 100.0; UNIT PERCENT; CUSTOMGUI REALSLIDER; SCALE_H; } BOOL mEN_RX { ANIM OFF; } STATICTEXT { JOINENDSCALE; } REAL mTY { MIN -100.0; MAX 100.0; UNIT PERCENT; CUSTOMGUI REALSLIDER; SCALE_H; } BOOL mEN_TY { ANIM OFF; } REAL mRY { MIN -100.0; MAX 100.0; UNIT PERCENT; CUSTOMGUI REALSLIDER; SCALE_H; } BOOL mEN_RY { ANIM OFF; } STATICTEXT { JOINENDSCALE; } REAL mTZ { MIN -100.0; MAX 100.0; UNIT PERCENT; CUSTOMGUI REALSLIDER; SCALE_H; } BOOL mEN_TZ { ANIM OFF; } REAL mRZ { MIN -100.0; MAX 100.0; UNIT PERCENT; CUSTOMGUI REALSLIDER; SCALE_H; } BOOL mEN_RZ { ANIM OFF; } STATICTEXT { JOINENDSCALE; } } SEPARATOR { LINE; SCALE_H; } BUTTON mREMOVE_MOTION { ANIM OFF; } }
Thanks again to the community and plugincafe!
Cheers,Christophe.
-
I noticed by having a look on other .res files that there is a
STATICTEXT { JOINEND; }
that exists and can be applied onLAYERGROUP
as well asSTATICTEXT { NEWLINE; }
but I didn't got the use of the last one as that does not create the "\r" or "\r\n" it should.Didn't found any informations in the SDK (C++ nor Python) about
JOINEND
andJOINENDSCALE
... those tags looks like to be undocumented. -
Correct, thanks for poitning it I will add a task to improve documentation of Custom GUI