Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2009-09-22 01:03:50 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2009-09-22 01:03:50 +0400
commit862ddcc0c458f2d188ba8410460540ee2d04711d (patch)
treecaf13054cb76f455702accdc6dde2ec13c0b36e3 /source/blender
parentaae4335b9ffebe31326c8f3b1a83a1a17970e5e1 (diff)
Fix part of #19307: modifier cage button not working as a toggle button.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/editors/interface/interface_templates.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/source/blender/editors/interface/interface_templates.c b/source/blender/editors/interface/interface_templates.c
index 23ffe46eed4..51678327cdd 100644
--- a/source/blender/editors/interface/interface_templates.c
+++ b/source/blender/editors/interface/interface_templates.c
@@ -405,10 +405,12 @@ void uiTemplateID(uiLayout *layout, bContext *C, PointerRNA *ptr, char *propname
static void modifiers_setOnCage(bContext *C, void *ob_v, void *md_v)
{
Object *ob = ob_v;
- ModifierData *md;
-
+ ModifierData *md= md_v;
int i, cageIndex = modifiers_getCageIndex(ob, NULL );
+ /* undo button operation */
+ md->mode ^= eModifierMode_OnCage;
+
for(i = 0, md=ob->modifiers.first; md; ++i, md=md->next) {
if(md == md_v) {
if(i >= cageIndex)
@@ -517,9 +519,10 @@ static uiLayout *draw_modifier(uiLayout *layout, Object *ob, ModifierData *md, i
/* XXX uiBlockSetEmboss(block, UI_EMBOSSR); */
if(ob->type==OB_MESH && modifier_couldBeCage(md) && index<=lastCageIndex) {
-
/* XXX uiBlockSetCol(block, color); */
- but = uiDefIconBut(block, BUT, 0, ICON_MESH_DATA, 0, 0, 16, 20, NULL, 0.0, 0.0, 0.0, 0.0, "Apply modifier to editing cage during Editmode");
+ but = uiDefIconButBitI(block, TOG, eModifierMode_OnCage, 0, ICON_MESH_DATA, 0, 0, 16, 20, &md->mode, 0.0, 0.0, 0.0, 0.0, "Apply modifier to editing cage during Editmode");
+ if(index < cageIndex)
+ uiButSetFlag(but, UI_BUT_DISABLED);
uiButSetFunc(but, modifiers_setOnCage, ob, md);
uiBlockEndAlign(block);
/* XXX uiBlockSetCol(block, TH_AUTO); */