Code cleanup: removed some unused UI button types
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Sun, 9 Jun 2013 18:05:50 +0000 (18:05 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Sun, 9 Jun 2013 18:05:50 +0000 (18:05 +0000)
* CHARTAB: not needed anymore with improved copy/paste support and text input.
* IDPOIN: replaced by SEARCH_MENU.
* ICONROW/ICONTEXTROW: replaced by RNA enums.
* NUMABS: can use min/max limits instead.
* BUT_TOGDUAL, TOG3, TOGR, SLI: not used in 2.5 interface.

12 files changed:
doc/guides/interface_API.txt
source/blender/blenkernel/BKE_blender.h
source/blender/blenkernel/intern/blender.c
source/blender/editors/include/UI_interface.h
source/blender/editors/interface/interface.c
source/blender/editors/interface/interface_handlers.c
source/blender/editors/interface/interface_intern.h
source/blender/editors/interface/interface_regions.c
source/blender/editors/interface/interface_utils.c
source/blender/editors/interface/interface_widgets.c
source/blender/editors/mesh/editface.c
source/blender/editors/mesh/editmesh_extrude.c

index 5f0fbc85ff8536f08653e1c908d9c057a1f29b2c..1874519db8d752c37eb4982e1f24c860a74752f7 100644 (file)
@@ -19,26 +19,22 @@ Contents
 4. API for uiButton 
 4.1 UiDefBut
        1. BUT
-       2. TOG or TOGN or TOGR
+       2. TOG or TOGN
           TOG|BIT|<nr>
-       3. TOG3|BIT|<nr>
-       4. ROW
-       5. SLI or NUMSLI or HSVSLI
-       6. NUM
-       7. TEX
-       8. LABEL
-       9  SEPR
-       10. MENU
-       11.     COL
+       3. ROW
+       4. NUMSLI or HSVSLI
+       5. NUM
+       6. TEX
+       7. LABEL
+       8  SEPR
+       9. MENU
+       10.     COL
 4.2 Icon buttons
-       12. ICONROW
-       13. ICONTEXTROW
 4.3 pulldown menus / block buttons
        14. BLOCK
 4.4 specials
        15. KEYEVT
        16. LINK and INLINK
-       17. IDPOIN
 4.5 uiButton control fuctions
 
 
@@ -289,55 +285,49 @@ type:
        Activation button. (like "Render")
        Passing on a pointer is not needed
        
-2. TOG or TOGN or TOGR
+2. TOG or TOGN
        Toggle button (like "Lock")
        The pointer value is set either at 0 or 1
        If pressed, it calls the optional function with arguments provided.
        Type TOGN: works negative, when pressed it sets at 0
-       Type TOGR: is part of a row, redraws automatically all buttons with same *poin
 
        "|BIT|<nr>"
        When added to type, it works on a single bit <nr> (lowest order bit: nr = '0')
 
-3. TOG3|BIT|<nr>
-       A toggle with 3 values!
-       Can be only used for short *poin.
-       In the third toggle setting, the bit <nr> of *( poin+1) is set.
-       
-4. ROW
+3. ROW
        Button that's part of a row. 
        in "min" you set a row-id number, in "max" the value you want *poin to be
        assigned when you press the button. Always pass on these values as floats.
        When this button is pressed, it sets the "max" value to *poin, and redraws
        all buttons with the same row-id number.
 
-5. SLI or NUMSLI or HSVSLI
-       Slider, number-slider or hsv-slider button.
+4. NUMSLI or HSVSLI
+       Number-slider or hsv-slider button.
        "min" and "max" are to clamp the value to.
        If you want a button type "Col" to be updated, make 'a1' equal to 'retval'
        from the COL button.
        
-6. NUM
+5. NUM
        Number button
        Set the clamping values 'min' and 'max' always as float.
        For UiDefButF, set a 'step' in 'a1', in 1/100's. The step value is the increment or
        decrement when you click once on the right or left side of a button.
        The optional button function is additionally called for each change of the *poin value.
        
-7. TEX
+6. TEX
        Text string button.
        Pointertype is standard a char. Value 'max' is length of string (pass as float).
        When button is left with ESC, it doesn't put the 'retval' at the queue.
        
-8. LABEL
+7. LABEL
        Label button.
        Only displays text. 
        If 'min' is set at 1.0, the text is printed in white.
        
-9  SEPR
+8  SEPR
        A separator line, typically used within pulldown menus.
        
-10. MENU
+9. MENU
        Menu button.
        The syntax of the string in *name defines the menu items:
                - %t means the previous text becomes the title
@@ -346,7 +336,7 @@ type:
                        without returnvalues, the first item gets value 0 (incl. title!)
        Example: "Do something %t| turn left %2| turn right %1| nothing %0"
        
-11.    COLOR
+10.    COLOR
        A special button that only visualizes a RGB value
        In 'retval' you can put a code, which is used to identify for sliders if it needs
        redraws while using the sliders. Check button '5'.
@@ -371,19 +361,6 @@ uiBut *uiDefIconTextButF(uiBlock *block, int type, int retval, int icon, char *s
 
        Same again, but now with an icon and string as button name.
 
-Two special icon buttons are available in Blender:
-
-12. ICONROW
-       (uiDefIconBut)
-       This button pops up a vertical menu with a row of icons to choose from.
-       'max' = amount of icons. The icons are supposed to be ordered in a sequence
-       It writes in *poin which item in the menu was choosen (starting with 0).
-
-13. ICONTEXTROW
-       (uiDefIconTextBut)
-       Same as previous, but with the texts next to it.
-
-
 
 -----------4.3 pulldown menus / block buttons
 
@@ -465,37 +442,6 @@ uiDefIconBut(block, INLINK, 0, ICON_INLINK, x1, y1, w, h, void *poin, short from
        
 
 
-17. IDPOIN
-void uiDefIDPoinBut(uiBlock *block, uiIDPoinFuncFP func, int retval, char *str, 
-                       short x1, short y1, short x2, short y2, void *idpp, char *tip)
-
-       The ID struct is a generic part in structs like Object, Material, Mesh, etc.
-       Most linking options in Blender happens using ID's. (Mesh -> Material).
-       
-       This special button in Blender visualizes an ID pointer with its name. Typing in
-       a new name, changes the pointer. For most ID types in Blender functions have been
-       written already, needed by this button, to check validity of names, and assign the pointer.
-       
-       (BTW: the 'void *idpp' has to be a pointer to the ID pointer!)
-
-       Example function that can be put in 'func':
-       
-       void test_scriptpoin_but(char *name, ID **idpp)
-       {
-               ID *id;
-               
-               id= G.main->text.first;
-               while(id) {
-                       if( strcmp(name, id->name+2)==0 ) {
-                               *idpp= id;
-                               return;
-                       }
-                       id= id->next;
-               }
-               *idpp= 0;
-       }
-
-
 ------------- 4.5 uiButton control fuctions
 
 
index 2dfdce49a71bfc5e91f6cc1830bea9d842696779..dfab15a6f12ff75df8f61d7bdb13f0db9713b572 100644 (file)
@@ -96,7 +96,6 @@ extern void BKE_undo_step(struct bContext *C, int step);
 extern void BKE_undo_name(struct bContext *C, const char *name);
 extern int BKE_undo_valid(const char *name);
 extern void BKE_reset_undo(void);
-extern char *BKE_undo_menu_string(void);
 extern void BKE_undo_number(struct bContext *C, int nr);
 extern const char *BKE_undo_get_name(int nr, int *active);
 extern int BKE_undo_save_file(const char *filename);
index d3f4d6d06b0b72b9fbb5f50dffd34911bfb7e24c..87a8def52bfa86a2a098de71f7d7461ef941d582 100644 (file)
@@ -792,25 +792,6 @@ const char *BKE_undo_get_name(int nr, int *active)
        return NULL;
 }
 
-char *BKE_undo_menu_string(void)
-{
-       UndoElem *uel;
-       DynStr *ds = BLI_dynstr_new();
-       char *menu;
-
-       BLI_dynstr_append(ds, "Global Undo History %t");
-       
-       for (uel = undobase.first; uel; uel = uel->next) {
-               BLI_dynstr_append(ds, "|");
-               BLI_dynstr_append(ds, uel->name);
-       }
-
-       menu = BLI_dynstr_get_cstring(ds);
-       BLI_dynstr_free(ds);
-
-       return menu;
-}
-
 /* saves .blend using undo buffer, returns 1 == success */
 int BKE_undo_save_file(const char *filename)
 {
index e64a5a4af577fc03666bdce96dc15b9a628613f2..cb2f3e3286e6422e7407dbe1ab35bbeeef4dbd9a 100644 (file)
@@ -210,20 +210,14 @@ typedef enum {
        BUT           = (1 << 9),
        ROW           = (2 << 9),
        TOG           = (3 << 9),
-       SLI           = (4 << 9),
        NUM           = (5 << 9),
        TEX           = (6 << 9),
-       TOG3          = (7 << 9),
-       TOGR          = (8 << 9),
        TOGN          = (9 << 9),
        LABEL         = (10 << 9),
        MENU          = (11 << 9),  /* Dropdown list, actually! */
-       ICONROW       = (12 << 9),
        ICONTOG       = (13 << 9),
        NUMSLI        = (14 << 9),
        COLOR         = (15 << 9),
-       IDPOIN        = (16 << 9),
-       /* HSVSLI     = (17 << 9), */  /* UNUSED */
        SCROLL        = (18 << 9),
        BLOCK         = (19 << 9),
        BUTM          = (20 << 9),
@@ -231,18 +225,13 @@ typedef enum {
        LINK          = (22 << 9),
        INLINK        = (23 << 9),
        KEYEVT        = (24 << 9),
-       ICONTEXTROW   = (25 << 9),
        HSVCUBE       = (26 << 9),
        PULLDOWN      = (27 << 9),  /* Menu, actually! */
        ROUNDBOX      = (28 << 9),
-       CHARTAB       = (29 << 9),
        BUT_COLORBAND = (30 << 9),
        BUT_NORMAL    = (31 << 9),
        BUT_CURVE     = (32 << 9),
-       BUT_TOGDUAL   = (33 << 9),
        ICONTOGN      = (34 << 9),
-       /* FTPREVIEW  = (35 << 9), */  /* UNUSED */
-       NUMABS        = (36 << 9),
        TOGBUT        = (37 << 9),
        OPTION        = (38 << 9),
        OPTIONN       = (39 << 9),
@@ -560,7 +549,6 @@ void uiButGetStrInfo(struct bContext *C, uiBut *but, ...);
 /* Special Buttons
  *
  * Buttons with a more specific purpose:
- * - IDPoinBut: for creating buttons that work on a pointer to an ID block.
  * - MenuBut: buttons that popup a menu (in headers usually).
  * - PulldownBut: like MenuBut, but creating a uiBlock (for compatibility).
  * - BlockBut: buttons that popup a block with more buttons.
@@ -582,12 +570,6 @@ void uiButGetStrInfo(struct bContext *C, uiBut *but, ...);
 #define UI_ID_PREVIEWS      2048
 #define UI_ID_FULL          (UI_ID_RENAME | UI_ID_BROWSE | UI_ID_ADD_NEW | UI_ID_OPEN | UI_ID_ALONE | UI_ID_DELETE | UI_ID_LOCAL)
 
-typedef void (*uiIDPoinFuncFP)(struct bContext *C, const char *str, struct ID **idpp);
-typedef void (*uiIDPoinFunc)(struct bContext *C, struct ID *id, int event);
-
-uiBut *uiDefIDPoinBut(uiBlock *block, uiIDPoinFuncFP func, short blocktype, int retval, const char *str,
-                      int x, int y, short width, short height, void *idpp, const char *tip);
-
 int uiIconFromID(struct ID *id);
 
 uiBut *uiDefPulldownBut(uiBlock *block, uiBlockCreateFunc func, void *arg, const char *str, int x, int y, short width, short height, const char *tip);
index cce9ec50c1e0c6386082f310aef29f66ec9b5549..1bebfa8a7a02ef6aea9d481758f2cd9f3fe2181d 100644 (file)
@@ -1140,9 +1140,6 @@ int ui_is_but_push_ex(uiBut *but, double *value)
                                break;
                        case TOGBUT:
                        case TOG:
-                       case TOGR:
-                       case TOG3:
-                       case BUT_TOGDUAL:
                        case ICONTOG:
                        case OPTION:
                                UI_GET_BUT_VALUE_INIT(but, *value);
@@ -1420,7 +1417,7 @@ bool ui_is_but_float(uiBut *but)
 
 bool ui_is_but_bool(uiBut *but)
 {
-       if (ELEM5(but->type, TOG, TOGN, TOGR, ICONTOG, ICONTOGN))
+       if (ELEM4(but->type, TOG, TOGN, ICONTOG, ICONTOGN))
                return true;
 
        if (but->rnaprop && RNA_property_type(but->rnaprop) == PROP_BOOLEAN)
@@ -1620,8 +1617,6 @@ int ui_get_but_string_max_length(uiBut *but)
 {
        if (ELEM3(but->type, TEX, SEARCH_MENU, SEARCH_MENU_UNLINK))
                return but->hardmax;
-       else if (but->type == IDPOIN)
-               return MAX_ID_NAME - 2;
        else
                return UI_MAX_DRAW_STR;
 }
@@ -1716,7 +1711,7 @@ static float ui_get_but_step_unit(uiBut *but, float step_default)
  */
 void ui_get_but_string_ex(uiBut *but, char *str, const size_t maxlen, const int float_precision)
 {
-       if (but->rnaprop && ELEM4(but->type, TEX, IDPOIN, SEARCH_MENU, SEARCH_MENU_UNLINK)) {
+       if (but->rnaprop && ELEM3(but->type, TEX, SEARCH_MENU, SEARCH_MENU_UNLINK)) {
                PropertyType type;
                const char *buf = NULL;
                int buf_len;
@@ -1753,18 +1748,6 @@ void ui_get_but_string_ex(uiBut *but, char *str, const size_t maxlen, const int
                        MEM_freeN((void *)buf);
                }
        }
-       else if (but->type == IDPOIN) {
-               /* ID pointer */
-               if (but->idpoin_idpp) { /* Can be NULL for ID properties by python */
-                       ID *id = *(but->idpoin_idpp);
-                       if (id) {
-                               BLI_strncpy(str, id->name + 2, maxlen);
-                               return;
-                       }
-               }
-               str[0] = '\0';
-               return;
-       }
        else if (but->type == TEX) {
                /* string */
                BLI_strncpy(str, but->poin, maxlen);
@@ -1865,7 +1848,7 @@ bool ui_set_but_string_eval_num(bContext *C, uiBut *but, const char *str, double
 
 bool ui_set_but_string(bContext *C, uiBut *but, const char *str)
 {
-       if (but->rnaprop && ELEM4(but->type, TEX, IDPOIN, SEARCH_MENU, SEARCH_MENU_UNLINK)) {
+       if (but->rnaprop && ELEM3(but->type, TEX, SEARCH_MENU, SEARCH_MENU_UNLINK)) {
                if (RNA_property_editable(&but->rnapoin, but->rnaprop)) {
                        PropertyType type;
 
@@ -1910,11 +1893,6 @@ bool ui_set_but_string(bContext *C, uiBut *but, const char *str)
                        }
                }
        }
-       else if (but->type == IDPOIN) {
-               /* ID pointer */
-               but->idpoin_func(C, str, but->idpoin_idpp);
-               return true;
-       }
        else if (but->type == TEX) {
                /* string */
                if (ui_is_but_utf8(but)) BLI_strncpy_utf8(but->poin, str, but->hardmax);
@@ -1944,7 +1922,6 @@ bool ui_set_but_string(bContext *C, uiBut *but, const char *str)
                }
 
                if (!ui_is_but_float(but)) value = (int)floor(value + 0.5);
-               if (but->type == NUMABS) value = fabs(value);
 
                /* not that we use hard limits here */
                if (value < (double)but->hardmin) value = but->hardmin;
@@ -2285,7 +2262,6 @@ void ui_check_but(uiBut *but)
        /* test for min and max, icon sliders, etc */
        switch (but->type) {
                case NUM:
-               case SLI:
                case SCROLL:
                case NUMSLI:
                        UI_GET_BUT_VALUE_INIT(but, value);
@@ -2293,15 +2269,6 @@ void ui_check_but(uiBut *but)
                        else if (value > (double)but->hardmax) ui_set_but_val(but, but->hardmax);
                        break;
                        
-               case NUMABS:
-               {
-                       double value_abs;
-                       UI_GET_BUT_VALUE_INIT(but, value);
-                       value_abs = fabs(value);
-                       if (value_abs < (double)but->hardmin) ui_set_but_val(but, but->hardmin);
-                       else if (value_abs > (double)but->hardmax) ui_set_but_val(but, but->hardmax);
-                       break;
-               }
                case ICONTOG: 
                case ICONTOGN:
                        if (!but->rnaprop || (RNA_property_flag(but->rnaprop) & PROP_ICONS_CONSECUTIVE)) {
@@ -2310,20 +2277,6 @@ void ui_check_but(uiBut *but)
                        }
                        break;
                        
-               case ICONROW:
-                       if (!but->rnaprop || (RNA_property_flag(but->rnaprop) & PROP_ICONS_CONSECUTIVE)) {
-                               UI_GET_BUT_VALUE_INIT(but, value);
-                               but->iconadd = (int)value - (int)(but->hardmin);
-                       }
-                       break;
-                       
-               case ICONTEXTROW:
-                       if (!but->rnaprop || (RNA_property_flag(but->rnaprop) & PROP_ICONS_CONSECUTIVE)) {
-                               UI_GET_BUT_VALUE_INIT(but, value);
-                               but->iconadd = (int)value - (int)(but->hardmin);
-                       }
-                       break;
-
                        /* quiet warnings for unhandled types */
                default:
                        break;
@@ -2337,7 +2290,6 @@ void ui_check_but(uiBut *but)
        switch (but->type) {
        
                case MENU:
-               case ICONTEXTROW:
                
                        if (BLI_rctf_size_x(&but->rect) > 24.0f) {
                                UI_GET_BUT_VALUE_INIT(but, value);
@@ -2347,7 +2299,6 @@ void ui_check_but(uiBut *but)
        
                case NUM:
                case NUMSLI:
-               case NUMABS:
 
                        UI_GET_BUT_VALUE_INIT(but, value);
 
@@ -2394,7 +2345,6 @@ void ui_check_but(uiBut *but)
                
                        break;
 
-               case IDPOIN:
                case TEX:
                case SEARCH_MENU:
                case SEARCH_MENU_UNLINK:
@@ -2444,14 +2394,6 @@ void ui_check_but(uiBut *but)
 
                        break;
 
-               case BUT_TOGDUAL:
-                       /* trying to get the dual-icon to left of text... not very nice */
-                       if (but->str[0]) {
-                               BLI_strncpy(but->drawstr, "  ", UI_MAX_DRAW_STR);
-                               BLI_strncpy(but->drawstr + 2, but->str, UI_MAX_DRAW_STR - 2);
-                       }
-                       break;
-               
                case HSVCUBE:
                case HSVCIRCLE:
                        break;
@@ -2771,7 +2713,7 @@ static uiBut *ui_def_but(uiBlock *block, int type, int retval, const char *str,
        
        but->pos = -1;   /* cursor invisible */
 
-       if (ELEM3(but->type, NUM, NUMABS, NUMSLI)) {    /* add a space to name */
+       if (ELEM(but->type, NUM, NUMSLI)) {    /* add a space to name */
                /* slen remains unchanged from previous assignment, ensure this stays true */
                if (slen > 0 && slen < UI_MAX_NAME_STR - 2) {
                        if (but->str[slen - 1] != ' ') {
@@ -2782,13 +2724,10 @@ static uiBut *ui_def_but(uiBlock *block, int type, int retval, const char *str,
        }
 
        if ((block->flag & UI_BLOCK_LOOP) ||
-           ELEM9(but->type, MENU, TEX, LABEL, IDPOIN, BLOCK, BUTM, SEARCH_MENU, PROGRESSBAR, SEARCH_MENU_UNLINK))
+           ELEM8(but->type, MENU, TEX, LABEL, BLOCK, BUTM, SEARCH_MENU, PROGRESSBAR, SEARCH_MENU_UNLINK))
        {
                but->flag |= (UI_TEXT_LEFT | UI_ICON_LEFT);
        }
-       else if (but->type == BUT_TOGDUAL) {
-               but->flag |= UI_ICON_LEFT;
-       }
 
        but->flag |= (block->flag & UI_BUT_ALIGN);
 
@@ -3164,26 +3103,6 @@ void autocomplete_end(AutoComplete *autocpl, char *autoname)
        MEM_freeN(autocpl);
 }
 
-/* autocomplete callback for ID buttons */
-static void autocomplete_id(bContext *C, char *str, void *arg_v)
-{
-       int blocktype = (intptr_t)arg_v;
-       ListBase *listb = which_libbase(CTX_data_main(C), blocktype);
-       
-       if (listb == NULL) return;
-       
-       /* search if str matches the beginning of an ID struct */
-       if (str[0]) {
-               AutoComplete *autocpl = autocomplete_begin(str, MAX_ID_NAME - 2);
-               ID *id;
-               
-               for (id = listb->first; id; id = id->next)
-                       autocomplete_do_name(autocpl, id->name + 2);
-
-               autocomplete_end(autocpl, str);
-       }
-}
-
 static void ui_check_but_and_iconize(uiBut *but, int icon)
 {
        if (icon) {
@@ -3675,19 +3594,6 @@ void uiButSetCompleteFunc(uiBut *but, uiButCompleteFunc func, void *arg)
        but->autofunc_arg = arg;
 }
 
-uiBut *uiDefIDPoinBut(uiBlock *block, uiIDPoinFuncFP func, short blocktype, int retval, const char *str, int x, int y, short width, short height, void *idpp, const char *tip)
-{
-       uiBut *but = ui_def_but(block, IDPOIN, retval, str, x, y, width, height, NULL, 0.0, 0.0, 0.0, 0.0, tip);
-       but->idpoin_func = func;
-       but->idpoin_idpp = (ID **) idpp;
-       ui_check_but(but);
-       
-       if (blocktype)
-               uiButSetCompleteFunc(but, autocomplete_id, (void *)(intptr_t)blocktype);
-
-       return but;
-}
-
 uiBut *uiDefBlockBut(uiBlock *block, uiBlockCreateFunc func, void *arg, const char *str, int x, int y, short width, short height, const char *tip)
 {
        uiBut *but = ui_def_but(block, BLOCK, 0, str, x, y, width, height, arg, 0.0, 0.0, 0.0, 0.0, tip);
index 0d8c11c003638f0db21fdf98cb332f5bf8b8cab3..d431115d84e21678e45cb8a97a0eabd78949dea3 100644 (file)
@@ -321,7 +321,7 @@ static uiBut *ui_but_last(uiBlock *block)
 static bool ui_is_a_warp_but(uiBut *but)
 {
        if (U.uiflag & USER_CONTINUOUS_MOUSE) {
-               if (ELEM7(but->type, NUM, NUMSLI, NUMABS, HSVCIRCLE, TRACKPREVIEW, HSVCUBE, BUT_CURVE)) {
+               if (ELEM6(but->type, NUM, NUMSLI, HSVCIRCLE, TRACKPREVIEW, HSVCUBE, BUT_CURVE)) {
                        return true;
                }
        }
@@ -431,7 +431,7 @@ static void ui_apply_undo(uiBut *but)
 
                /* define which string to use for undo */
                if (ELEM(but->type, LINK, INLINK)) str = "Add button link";
-               else if (ELEM(but->type, MENU, ICONTEXTROW)) str = but->drawstr;
+               else if (but->type == MENU) str = but->drawstr;
                else if (but->drawstr[0]) str = but->drawstr;
                else str = but->tip;
 
@@ -544,7 +544,7 @@ static void ui_apply_but_BUTM(bContext *C, uiBut *but, uiHandleButtonData *data)
 
 static void ui_apply_but_BLOCK(bContext *C, uiBut *but, uiHandleButtonData *data)
 {
-       if (ELEM3(but->type, MENU, ICONROW, ICONTEXTROW))
+       if (but->type == MENU)
                ui_set_but_val(but, data->value);
 
        ui_check_but(but);
@@ -558,16 +558,6 @@ static void ui_apply_but_TOG(bContext *C, uiBut *but, uiHandleButtonData *data)
        double value;
        int w, lvalue, push;
        
-       /* local hack... */
-       if (but->type == BUT_TOGDUAL && data->togdual) {
-               if (but->pointype == UI_BUT_POIN_SHORT) {
-                       but->poin += 2;
-               }
-               else if (but->pointype == UI_BUT_POIN_INT) {
-                       but->poin += 4;
-               }
-       }
-       
        value = ui_get_but_val(but);
        lvalue = (int)value;
        
@@ -576,17 +566,6 @@ static void ui_apply_but_TOG(bContext *C, uiBut *but, uiHandleButtonData *data)
                if (w) lvalue = UI_BITBUT_CLR(lvalue, but->bitnr);
                else   lvalue = UI_BITBUT_SET(lvalue, but->bitnr);
                
-               if (but->type == TOGR) {
-                       if (!data->togonly) {
-                               lvalue = 1 << (but->bitnr);
-       
-                               ui_set_but_val(but, (double)lvalue);
-                       }
-                       else {
-                               if (lvalue == 0) lvalue = 1 << (but->bitnr);
-                       }
-               }
-               
                ui_set_but_val(but, (double)lvalue);
                if (but->type == ICONTOG || but->type == ICONTOGN) ui_check_but(but);
        }
@@ -600,16 +579,6 @@ static void ui_apply_but_TOG(bContext *C, uiBut *but, uiHandleButtonData *data)
                if (but->type == ICONTOG || but->type == ICONTOGN) ui_check_but(but);
        }
        
-       /* end local hack... */
-       if (but->type == BUT_TOGDUAL && data->togdual) {
-               if (but->pointype == UI_BUT_POIN_SHORT) {
-                       but->poin -= 2;
-               }
-               else if (but->pointype == UI_BUT_POIN_INT) {
-                       but->poin -= 4;
-               }
-       }
-       
        ui_apply_but_func(C, but);
 
        data->retval = but->retval;
@@ -673,41 +642,6 @@ static void ui_apply_but_NUM(bContext *C, uiBut *but, uiHandleButtonData *data)
        data->applied = true;
 }
 
-static void ui_apply_but_TOG3(bContext *C, uiBut *but, uiHandleButtonData *data)
-{ 
-       if (but->pointype == UI_BUT_POIN_SHORT) {
-               short *sp = (short *)but->poin;
-               
-               if (UI_BITBUT_TEST(sp[1], but->bitnr)) {
-                       sp[1] = UI_BITBUT_CLR(sp[1], but->bitnr);
-                       sp[0] = UI_BITBUT_CLR(sp[0], but->bitnr);
-               }
-               else if (UI_BITBUT_TEST(sp[0], but->bitnr)) {
-                       sp[1] = UI_BITBUT_SET(sp[1], but->bitnr);
-               }
-               else {
-                       sp[0] = UI_BITBUT_SET(sp[0], but->bitnr);
-               }
-       }
-       else {
-               if (UI_BITBUT_TEST(*(but->poin + 2), but->bitnr)) {
-                       *(but->poin + 2) = UI_BITBUT_CLR(*(but->poin + 2), but->bitnr);
-                       *(but->poin)     = UI_BITBUT_CLR(*(but->poin),     but->bitnr);
-               }
-               else if (UI_BITBUT_TEST(*(but->poin), but->bitnr)) {
-                       *(but->poin + 2) = UI_BITBUT_SET(*(but->poin + 2), but->bitnr);
-               }
-               else {
-                       *(but->poin) = UI_BITBUT_SET(*(but->poin), but->bitnr);
-               }
-       }
-       
-       ui_check_but(but);
-       ui_apply_but_func(C, but);
-       data->retval = but->retval;
-       data->applied = true;
-}
-
 static void ui_apply_but_VEC(bContext *C, uiBut *but, uiHandleButtonData *data)
 {
        ui_set_but_vectorf(but, data->vec);
@@ -732,24 +666,6 @@ static void ui_apply_but_CURVE(bContext *C, uiBut *but, uiHandleButtonData *data
        data->applied = true;
 }
 
-static void ui_apply_but_IDPOIN(bContext *C, uiBut *but, uiHandleButtonData *data)
-{
-       ui_set_but_string(C, but, data->str);
-       ui_check_but(but);
-       ui_apply_but_func(C, but);
-       data->retval = but->retval;
-       data->applied = true;
-}
-
-#ifdef WITH_INTERNATIONAL
-static void ui_apply_but_CHARTAB(bContext *C, uiBut *but, uiHandleButtonData *data)
-{
-       ui_apply_but_func(C, but);
-       data->retval = but->retval;
-       data->applied = true;
-}
-#endif
-
 /* ****************** drag drop code *********************** */
 
 #ifdef USE_DRAG_TOGGLE
@@ -1292,11 +1208,9 @@ static void ui_apply_button(bContext *C, uiBlock *block, uiBut *but, uiHandleBut
                        break;
                case TOGBUT: 
                case TOG: 
-               case TOGR: 
                case ICONTOG:
                case ICONTOGN:
                case TOGN:
-               case BUT_TOGDUAL:
                case OPTION:
                case OPTIONN:
                        ui_apply_but_TOG(C, but, data);
@@ -1307,17 +1221,10 @@ static void ui_apply_button(bContext *C, uiBlock *block, uiBut *but, uiHandleBut
                        break;
                case SCROLL:
                case NUM:
-               case NUMABS:
-               case SLI:
                case NUMSLI:
                        ui_apply_but_NUM(C, but, data);
                        break;
-               case TOG3:
-                       ui_apply_but_TOG3(C, but, data);
-                       break;
                case MENU:
-               case ICONROW:
-               case ICONTEXTROW:
                case BLOCK:
                case PULLDOWN:
                        ui_apply_but_BLOCK(C, but, data);
@@ -1342,14 +1249,6 @@ static void ui_apply_button(bContext *C, uiBlock *block, uiBut *but, uiHandleBut
                case BUT_CURVE:
                        ui_apply_but_CURVE(C, but, data);
                        break;
-               case IDPOIN:
-                       ui_apply_but_IDPOIN(C, but, data);
-                       break;
-#ifdef WITH_INTERNATIONAL
-               case CHARTAB:
-                       ui_apply_but_CHARTAB(C, but, data);
-                       break;
-#endif
                case KEYEVT:
                case HOTKEYEVT:
                        ui_apply_but_BUT(C, but, data);
@@ -1392,7 +1291,7 @@ static void ui_but_drop(bContext *C, const wmEvent *event, uiBut *but, uiHandleB
        for (wmd = drags->first; wmd; wmd = wmd->next) {
                if (wmd->type == WM_DRAG_ID) {
                        /* align these types with UI_but_active_drop_name */
-                       if (ELEM4(but->type, TEX, IDPOIN, SEARCH_MENU, SEARCH_MENU_UNLINK)) {
+                       if (ELEM3(but->type, TEX, SEARCH_MENU, SEARCH_MENU_UNLINK)) {
                                ID *id = (ID *)wmd->poin;
                                
                                if (but->poin == NULL && but->rnapoin.data == NULL) {}
@@ -1433,7 +1332,7 @@ static void ui_but_copy_paste(bContext *C, uiBut *but, uiHandleButtonData *data,
        }
        
        /* numeric value */
-       if (ELEM3(but->type, NUM, NUMABS, NUMSLI)) {
+       if (ELEM(but->type, NUM, NUMSLI)) {
                
                if (but->poin == NULL && but->rnapoin.data == NULL) {
                        /* pass */
@@ -1497,7 +1396,7 @@ static void ui_but_copy_paste(bContext *C, uiBut *but, uiHandleButtonData *data,
        }
 
        /* text/string and ID data */
-       else if (ELEM4(but->type, TEX, IDPOIN, SEARCH_MENU, SEARCH_MENU_UNLINK)) {
+       else if (ELEM3(but->type, TEX, SEARCH_MENU, SEARCH_MENU_UNLINK)) {
                uiHandleButtonData *active_data = but->active;
 
                if (but->poin == NULL && but->rnapoin.data == NULL) {
@@ -2041,7 +1940,7 @@ static void ui_textedit_begin(bContext *C, uiBut *but, uiHandleButtonData *data)
                BLI_str_rstrip_float_zero(data->str, '\0');
        }
 
-       if (ELEM3(but->type, NUM, NUMABS, NUMSLI)) {
+       if (ELEM(but->type, NUM, NUMSLI)) {
                ui_convert_to_unit_alt_name(but, data->str, data->maxlen);
        }
 
@@ -2113,7 +2012,7 @@ static void ui_textedit_next_but(uiBlock *block, uiBut *actbut, uiHandleButtonDa
                return;
 
        for (but = actbut->next; but; but = but->next) {
-               if (ELEM7(but->type, TEX, NUM, NUMABS, NUMSLI, IDPOIN, SEARCH_MENU, SEARCH_MENU_UNLINK)) {
+               if (ELEM5(but->type, TEX, NUM, NUMSLI, SEARCH_MENU, SEARCH_MENU_UNLINK)) {
                        if (!(but->flag & UI_BUT_DISABLED)) {
                                data->postbut = but;
                                data->posttype = BUTTON_ACTIVATE_TEXT_EDITING;
@@ -2122,7 +2021,7 @@ static void ui_textedit_next_but(uiBlock *block, uiBut *actbut, uiHandleButtonDa
                }
        }
        for (but = block->buttons.first; but != actbut; but = but->next) {
-               if (ELEM7(but->type, TEX, NUM, NUMABS, NUMSLI, IDPOIN, SEARCH_MENU, SEARCH_MENU_UNLINK)) {
+               if (ELEM5(but->type, TEX, NUM, NUMSLI, SEARCH_MENU, SEARCH_MENU_UNLINK)) {
                        if (!(but->flag & UI_BUT_DISABLED)) {
                                data->postbut = but;
                                data->posttype = BUTTON_ACTIVATE_TEXT_EDITING;
@@ -2141,7 +2040,7 @@ static void ui_textedit_prev_but(uiBlock *block, uiBut *actbut, uiHandleButtonDa
                return;
 
        for (but = actbut->prev; but; but = but->prev) {
-               if (ELEM7(but->type, TEX, NUM, NUMABS, NUMSLI, IDPOIN, SEARCH_MENU, SEARCH_MENU_UNLINK)) {
+               if (ELEM5(but->type, TEX, NUM, NUMSLI, SEARCH_MENU, SEARCH_MENU_UNLINK)) {
                        if (!(but->flag & UI_BUT_DISABLED)) {
                                data->postbut = but;
                                data->posttype = BUTTON_ACTIVATE_TEXT_EDITING;
@@ -2150,7 +2049,7 @@ static void ui_textedit_prev_but(uiBlock *block, uiBut *actbut, uiHandleButtonDa
                }
        }
        for (but = block->buttons.last; but != actbut; but = but->prev) {
-               if (ELEM7(but->type, TEX, NUM, NUMABS, NUMSLI, IDPOIN, SEARCH_MENU, SEARCH_MENU_UNLINK)) {
+               if (ELEM5(but->type, TEX, NUM, NUMSLI, SEARCH_MENU, SEARCH_MENU_UNLINK)) {
                        if (!(but->flag & UI_BUT_DISABLED)) {
                                data->postbut = but;
                                data->posttype = BUTTON_ACTIVATE_TEXT_EDITING;
@@ -2345,7 +2244,7 @@ static void ui_do_but_textedit(bContext *C, uiBlock *block, uiBut *but, uiHandle
 
                        /* exception that's useful for number buttons, some keyboard
                         * numpads have a comma instead of a period */
-                       if (ELEM3(but->type, NUM, NUMABS, NUMSLI)) { /* could use data->min*/
+                       if (ELEM(but->type, NUM, NUMSLI)) { /* could use data->min*/
                                if (event->type == PADPERIOD && ascii == ',') {
                                        ascii = '.';
                                        utf8_buf = NULL; /* force ascii fallback */
@@ -2517,14 +2416,6 @@ static void ui_blockopen_begin(bContext *C, uiBut *but, uiHandleButtonData *data
                                menustr = but->str;
                        }
                        break;
-               case ICONROW:
-                       menufunc = ui_block_func_ICONROW;
-                       arg = but;
-                       break;
-               case ICONTEXTROW:
-                       menufunc = ui_block_func_ICONTEXTROW;
-                       arg = but;
-                       break;
                case COLOR:
                        ui_get_but_vectorf(but, data->origvec);
                        copy_v3_v3(data->vec, data->origvec);
@@ -3530,7 +3421,7 @@ static int ui_do_but_BLOCK(bContext *C, uiBut *but, uiHandleButtonData *data, co
                        button_activate_state(C, but, BUTTON_STATE_MENU_OPEN);
                        return WM_UI_HANDLER_BREAK;
                }
-               else if (ELEM3(but->type, MENU, ICONROW, ICONTEXTROW)) {
+               else if (but->type == MENU) {
                        if (ELEM(event->type, WHEELDOWNMOUSE, WHEELUPMOUSE) && event->alt) {
                                const int direction = (event->type == WHEELDOWNMOUSE) ? -1 : 1;
 
@@ -4793,112 +4684,6 @@ static int ui_do_but_VECTORSCOPE(bContext *C, uiBlock *block, uiBut *but, uiHand
        return WM_UI_HANDLER_CONTINUE;
 }
 
-#ifdef WITH_INTERNATIONAL
-static int ui_do_but_CHARTAB(bContext *UNUSED(C), uiBlock *UNUSED(block), uiBut *UNUSED(but), uiHandleButtonData *UNUSED(data), const wmEvent *UNUSED(event))
-{
-       /* XXX 2.50 bad global and state access */
-#if 0
-       float sx, sy, ex, ey;
-       float width, height;
-       float butw, buth;
-       int mx, my, x, y, cs, che;
-
-       mx = event->x;
-       my = event->y;
-       ui_window_to_block(data->region, block, &mx, &my);
-
-       if (data->state == BUTTON_STATE_HIGHLIGHT) {
-               if (ELEM3(event->type, LEFTMOUSE, PADENTER, RETKEY) && event->val == KM_PRESS) {
-                       /* Calculate the size of the button */
-                       width  = abs(BLI_rctf_size_x(&but->rect));
-                       height = abs(BLI_rctf_size_y(&but->rect));
-
-                       butw = floor(width / 12);
-                       buth = floor(height / 6);
-
-                       /* Initialize variables */
-                       sx = but->rect.xmin;
-                       ex = but->rect.xmin + butw;
-                       sy = but->rect.ymin + height - buth;
-                       ey = but->rect.ymin + height;
-
-                       cs = G.charstart;
-
-                       /* And the character is */
-                       x = (int) ((mx / butw) - 0.5);
-                       y = (int) (6 - ((my / buth) - 0.5));
-
-                       che = cs + (y * 12) + x;
-
-                       if (che > G.charmax)
-                               che = 0;
-
-                       if (G.obedit) {
-                               do_textedit(0, 0, che);
-                       }
-
-                       button_activate_state(C, but, BUTTON_STATE_EXIT);
-                       return WM_UI_HANDLER_BREAK;
-               }
-               else if (ELEM(event->type, WHEELUPMOUSE, PAGEUPKEY)) {
-                       for (but = block->buttons.first; but; but = but->next) {
-                               if (but->type == CHARTAB) {
-                                       G.charstart = G.charstart - (12 * 6);
-                                       if (G.charstart < 0)
-                                               G.charstart = 0;
-                                       if (G.charstart < G.charmin)
-                                               G.charstart = G.charmin;
-                                       ui_draw_but(but);
-
-                                       //Really nasty... to update the num button from the same butblock
-                                       for (bt = block->buttons.first; bt; bt = bt->next)
-                                       {
-                                               if (ELEM(bt->type, NUM, NUMABS)) {
-                                                       ui_check_but(bt);
-                                                       ui_draw_but(bt);
-                                               }
-                                       }
-                                       retval = UI_CONT;
-                                       break;
-                               }
-                       }
-
-                       return WM_UI_HANDLER_BREAK;
-               }
-               else if (ELEM(event->type, WHEELDOWNMOUSE, PAGEDOWNKEY)) {
-                       for (but = block->buttons.first; but; but = but->next) {
-                               if (but->type == CHARTAB) {
-                                       G.charstart = G.charstart + (12 * 6);
-                                       if (G.charstart > (0xffff - 12 * 6))
-                                               G.charstart = 0xffff - (12 * 6);
-                                       if (G.charstart > G.charmax - 12 * 6)
-                                               G.charstart = G.charmax - 12 * 6;
-                                       ui_draw_but(but);
-
-                                       for (bt = block->buttons.first; bt; bt = bt->next)
-                                       {
-                                               if (ELEM(bt->type, NUM, NUMABS)) {
-                                                       ui_check_but(bt);
-                                                       ui_draw_but(bt);
-                                               }
-                                       }
-                                       
-                                       but->flag |= UI_ACTIVE;
-                                       retval = UI_RETURN_OK;
-                                       break;
-                               }
-                       }
-
-                       return WM_UI_HANDLER_BREAK;
-               }
-       }
-#endif
-
-       return WM_UI_HANDLER_CONTINUE;
-}
-#endif
-
-
 static int ui_do_but_LINK(bContext *C, uiBut *but, uiHandleButtonData *data, const wmEvent *event)
 {      
        VECCOPY2D(but->linkto, event->mval);
@@ -5552,11 +5337,9 @@ static int ui_do_button(bContext *C, uiBlock *block, uiBut *but, const wmEvent *
                        break;
                case TOGBUT:
                case TOG:
-               case TOGR:
                case ICONTOG:
                case ICONTOGN:
                case TOGN:
-               case BUT_TOGDUAL:
                case OPTION:
                case OPTIONN:
                        retval = ui_do_but_TOG(C, but, data, event);
@@ -5565,17 +5348,14 @@ static int ui_do_button(bContext *C, uiBlock *block, uiBut *but, const wmEvent *
                        retval = ui_do_but_SCROLL(C, block, but, data, event);
                        break;
                case NUM:
-               case NUMABS:
                        retval = ui_do_but_NUM(C, block, but, data, event);
                        break;
-               case SLI:
                case NUMSLI:
                        retval = ui_do_but_SLI(C, block, but, data, event);
                        break;
                case ROUNDBOX:
                case LISTBOX:
                case LABEL:
-               case TOG3:
                case ROW:
                case LISTROW:
                case BUT_IMAGE:
@@ -5593,7 +5373,6 @@ static int ui_do_button(bContext *C, uiBlock *block, uiBut *but, const wmEvent *
                        retval = ui_do_but_VECTORSCOPE(C, block, but, data, event);
                        break;
                case TEX:
-               case IDPOIN:
                case SEARCH_MENU:
                        retval = ui_do_but_TEX(C, block, but, data, event);
                        break;
@@ -5601,8 +5380,6 @@ static int ui_do_button(bContext *C, uiBlock *block, uiBut *but, const wmEvent *
                        retval = ui_do_but_SEARCH_UNLINK(C, block, but, data, event);
                        break;
                case MENU:
-               case ICONROW:
-               case ICONTEXTROW:
                case BLOCK:
                case PULLDOWN:
                        retval = ui_do_but_BLOCK(C, but, data, event);
@@ -5631,16 +5408,6 @@ static int ui_do_button(bContext *C, uiBlock *block, uiBut *but, const wmEvent *
                case HSVCIRCLE:
                        retval = ui_do_but_HSVCIRCLE(C, block, but, data, event);
                        break;
-#ifdef WITH_INTERNATIONAL
-               case CHARTAB:
-                       retval = ui_do_but_CHARTAB(C, block, but, data, event);
-                       break;
-#else
-                       /* do nothing */
-               case CHARTAB:
-                       break;
-#endif
-
                case LINK:
                case INLINK:
                        retval = ui_do_but_LINK(C, but, data, event);
@@ -5713,7 +5480,7 @@ int UI_but_active_drop_name(bContext *C)
        uiBut *but = ui_but_find_activated(ar);
 
        if (but) {
-               if (ELEM4(but->type, TEX, IDPOIN, SEARCH_MENU, SEARCH_MENU_UNLINK))
+               if (ELEM3(but->type, TEX, SEARCH_MENU, SEARCH_MENU_UNLINK))
                        return 1;
        }
        
@@ -5923,7 +5690,7 @@ static void button_activate_state(bContext *C, uiBut *but, uiHandleButtonState s
                button_tooltip_timer_reset(C, but);
 
                /* automatic open pulldown block timer */
-               if (ELEM3(but->type, BLOCK, PULLDOWN, ICONTEXTROW)) {
+               if (ELEM(but->type, BLOCK, PULLDOWN)) {
                        if (data->used_mouse && !data->autoopentimer) {
                                int time;
 
@@ -6733,7 +6500,7 @@ static void ui_handle_button_return_submenu(bContext *C, const wmEvent *event, u
        if ((menu->menuretval & UI_RETURN_OK) || (menu->menuretval & UI_RETURN_UPDATE)) {
                if (but->type == COLOR)
                        copy_v3_v3(data->vec, menu->retvec);
-               else if (ELEM3(but->type, MENU, ICONROW, ICONTEXTROW))
+               else if (but->type == MENU)
                        data->value = menu->retvalue;
        }
 
@@ -7207,11 +6974,6 @@ static int ui_handle_menu_event(bContext *C, const wmEvent *event, uiPopupBlockH
                                                                                doit = TRUE;
                                                                }
                                                        }
-                                                       /* exception for menus like layer buts, with button aligning they're not drawn in order */
-                                                       else if (but->type == TOGR) {
-                                                               if (but->bitnr == act - 1)
-                                                                       doit = TRUE;
-                                                       }
                                                        else if (count == act) {
                                                                doit = TRUE;
                                                        }
index 5621aa2d0cccdc4a22b6b768287f755d553f6894..14a4d42946ca538e606804002e4fb1bbf3dac5f1 100644 (file)
@@ -230,10 +230,6 @@ struct uiBut {
        short modifier_key;
        short iconadd;
 
-       /* IDPOIN data */
-       uiIDPoinFuncFP idpoin_func;
-       ID **idpoin_idpp;
-
        /* BLOCK data */
        uiBlockCreateFunc block_create_func;
 
@@ -460,8 +456,6 @@ struct uiPopupBlockHandle {
 };
 
 uiBlock *ui_block_func_COLOR(struct bContext *C, uiPopupBlockHandle *handle, void *arg_but);
-void ui_block_func_ICONROW(struct bContext *C, uiLayout *layout, void *arg_but);
-void ui_block_func_ICONTEXTROW(struct bContext *C, uiLayout *layout, void *arg_but);
 
 struct ARegion *ui_tooltip_create(struct bContext *C, struct ARegion *butregion, uiBut *but);
 void ui_tooltip_free(struct bContext *C, struct ARegion *ar);
index 3b9574156ebe145d91b311d13ba265d8e71f3f1e..8621a61a2d102161d04874d54a597ce0779f3b22 100644 (file)
@@ -481,7 +481,7 @@ ARegion *ui_tooltip_create(bContext *C, ARegion *butregion, uiBut *but)
                data->totline++;
        }
 
-       if (ELEM4(but->type, TEX, IDPOIN, SEARCH_MENU, SEARCH_MENU_UNLINK)) {
+       if (ELEM3(but->type, TEX, SEARCH_MENU, SEARCH_MENU_UNLINK)) {
                /* full string */
                ui_get_but_string(but, buf, sizeof(buf));
                if (buf[0]) {
@@ -1866,53 +1866,6 @@ static void ui_block_func_MENUSTR(bContext *UNUSED(C), uiLayout *layout, void *a
        menudata_free(md);
 }
 
-void ui_block_func_ICONROW(bContext *UNUSED(C), uiLayout *layout, void *arg_but)
-{
-       uiBlock *block = uiLayoutGetBlock(layout);
-       uiPopupBlockHandle *handle = block->handle;
-       uiBut *but = arg_but;
-       int a;
-       
-       uiBlockSetFlag(block, UI_BLOCK_MOVEMOUSE_QUIT);
-       
-       for (a = (int)but->hardmin; a <= (int)but->hardmax; a++)
-               uiDefIconButF(block, BUTM, B_NOP, but->icon + (a - but->hardmin), 0, 0, UI_UNIT_X * 5, UI_UNIT_Y,
-                             &handle->retvalue, (float)a, 0.0, 0, -1, "");
-}
-
-void ui_block_func_ICONTEXTROW(bContext *UNUSED(C), uiLayout *layout, void *arg_but)
-{
-       uiBlock *block = uiLayoutGetBlock(layout);
-       uiPopupBlockHandle *handle = block->handle;
-       uiBut *but = arg_but, *bt;
-       MenuData *md;
-       MenuEntry *entry;
-       int a;
-       
-       uiBlockSetFlag(block, UI_BLOCK_MOVEMOUSE_QUIT);
-
-       md = decompose_menu_string(but->str);
-
-       /* title */
-       if (md->title) {
-               bt = uiDefBut(block, LABEL, 0, md->title, 0, 0, UI_UNIT_X * 5, UI_UNIT_Y, NULL, 0.0, 0.0, 0, 0, "");
-               bt->flag = UI_TEXT_LEFT;
-       }
-
-       /* loop through the menu options and draw them out with icons & text labels */
-       for (a = 0; a < md->nitems; a++) {
-               entry = &md->items[md->nitems - a - 1];
-
-               if (entry->sepr)
-                       uiItemS(layout);
-               else
-                       uiDefIconTextButF(block, BUTM, B_NOP, (short)((but->icon) + (entry->retval - but->hardmin)), entry->str,
-                                         0, 0, UI_UNIT_X * 5, UI_UNIT_Y, &handle->retvalue, (float) entry->retval, 0.0, 0, -1, "");
-       }
-
-       menudata_free(md);
-}
-
 #if 0
 static void ui_warp_pointer(int x, int y)
 {
index 3bf1a1a770175580a9fc1d618a7adec563819e34..7da12277372edc811f606b22e3b9b03aa085c2f1 100644 (file)
@@ -113,7 +113,7 @@ uiBut *uiDefAutoButR(uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, int ind
                        if (icon == ICON_DOT)
                                icon = 0;
 
-                       but = uiDefIconTextButR_prop(block, IDPOIN, 0, icon, name, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
+                       but = uiDefIconTextButR_prop(block, SEARCH_MENU, 0, icon, name, x1, y1, x2, y2, ptr, prop, index, 0, 0, -1, -1, NULL);
                        break;
                }
                case PROP_COLLECTION:
index c8062cd3ed27c339ed081a58a2ac94083fd67148..00eabad729ea176bdc0575a64ee50e8e12de1c44 100644 (file)
@@ -891,23 +891,12 @@ static void widget_draw_icon(uiBut *but, BIFIconID icon, float alpha, const rcti
                float ofs = 1.0f / aspect;
                
                if (but->flag & UI_ICON_LEFT) {
-                       if (but->type == BUT_TOGDUAL) {
-                               if (but->drawstr[0]) {
-                                       xs = rect->xmin - ofs;
-                               }
-                               else {
-                                       xs = (rect->xmin + rect->xmax - height) / 2.0f;
-                               }
-                       }
-                       else if (but->block->flag & UI_BLOCK_LOOP) {
+                       if (but->block->flag & UI_BLOCK_LOOP) {
                                if (ELEM(but->type, SEARCH_MENU, SEARCH_MENU_UNLINK))
                                        xs = rect->xmin + 4.0f * ofs;
                                else
                                        xs = rect->xmin + ofs;
                        }
-                       else if ((but->type == ICONROW) || (but->type == ICONTEXTROW)) {
-                               xs = rect->xmin + 3.0f * ofs;
-                       }
                        else {
                                xs = rect->xmin + 4.0f * ofs;
                        }
@@ -1220,13 +1209,12 @@ static void widget_draw_text(uiFontStyle *fstyle, uiWidgetColors *wcol, uiBut *b
 
 #if 0
        ui_rasterpos_safe(x, y, but->aspect);
-       if (but->type == IDPOIN) transopts = 0;  /* no translation, of course! */
-       else transopts = ui_translate_buttons();
+       transopts = ui_translate_buttons();
 #endif
 
        /* cut string in 2 parts - only for menu entries */
        if ((but->block->flag & UI_BLOCK_LOOP)) {
-               if (ELEM5(but->type, SLI, NUM, TEX, NUMSLI, NUMABS) == 0) {
+               if (ELEM3(but->type, NUM, TEX, NUMSLI) == 0) {
                        cpoin = strchr(but->drawstr, '|');
                        if (cpoin) *cpoin = 0;
                }
@@ -1292,7 +1280,7 @@ static void widget_draw_text_icon(uiFontStyle *fstyle, uiWidgetColors *wcol, uiB
        if (but->editstr && but->pos >= 0) {
                ui_text_clip_cursor(fstyle, but, rect);
        }
-       else if (ELEM4(but->type, NUM, NUMABS, NUMSLI, SLI)) {
+       else if (ELEM(but->type, NUM, NUMSLI)) {
                ui_text_clip_right_label(fstyle, but, rect);
        }
        else if (ELEM3(but->type, TEX, SEARCH_MENU, SEARCH_MENU_UNLINK)) {
@@ -1306,65 +1294,47 @@ static void widget_draw_text_icon(uiFontStyle *fstyle, uiWidgetColors *wcol, uiB
        }
 
        /* check for button text label */
-       if (but->type == ICONTEXTROW) {
-               widget_draw_icon(but, (BIFIconID) (but->icon + but->iconadd), 1.0f, rect);
+       if (but->type == MENU && (but->flag & UI_BUT_NODE_LINK)) {
+               int tmp = rect->xmin;
+               rect->xmin = rect->xmax - BLI_rcti_size_y(rect) - 1;
+               widget_draw_icon(but, ICON_LAYER_USED, alpha, rect);
+               rect->xmin = tmp;
        }
-       else {
 
-               if (but->type == BUT_TOGDUAL) {
-                       int dualset = 0;
-                       if (but->pointype == UI_BUT_POIN_SHORT) {
-                               dualset = UI_BITBUT_TEST(*(((short *)but->poin) + 1), but->bitnr);
-                       }
-                       else if (but->pointype == UI_BUT_POIN_INT) {
-                               dualset = UI_BITBUT_TEST(*(((int *)but->poin) + 1), but->bitnr);
-                       }
-
-                       widget_draw_icon(but, ICON_DOT, dualset ? alpha : 0.25f, rect);
-               }
-               else if (but->type == MENU && (but->flag & UI_BUT_NODE_LINK)) {
-                       int tmp = rect->xmin;
-                       rect->xmin = rect->xmax - BLI_rcti_size_y(rect) - 1;
-                       widget_draw_icon(but, ICON_LAYER_USED, alpha, rect);
-                       rect->xmin = tmp;
-               }
-
-               /* If there's an icon too (made with uiDefIconTextBut) then draw the icon
-                * and offset the text label to accommodate it */
+       /* If there's an icon too (made with uiDefIconTextBut) then draw the icon
+        * and offset the text label to accommodate it */
 
-               if (but->flag & UI_HAS_ICON) {
-                       widget_draw_icon(but, but->icon + but->iconadd, alpha, rect);
-                       
-                       /* icons default draw 0.8f x height */
-                       rect->xmin += (int)(0.8f * BLI_rcti_size_y(rect));
+       if (but->flag & UI_HAS_ICON) {
+               widget_draw_icon(but, but->icon + but->iconadd, alpha, rect);
+               
+               /* icons default draw 0.8f x height */
+               rect->xmin += (int)(0.8f * BLI_rcti_size_y(rect));
 
-                       if (but->editstr || (but->flag & UI_TEXT_LEFT)) {
-                               rect->xmin += (UI_TEXT_MARGIN_X * U.widget_unit) / but->block->aspect;
-                       }
-                       else if ((but->flag & UI_TEXT_RIGHT)) {
-                               rect->xmax -= (UI_TEXT_MARGIN_X * U.widget_unit) / but->block->aspect;
-                       }
-               }
-               else if ((but->flag & UI_TEXT_LEFT)) {
+               if (but->editstr || (but->flag & UI_TEXT_LEFT)) {
                        rect->xmin += (UI_TEXT_MARGIN_X * U.widget_unit) / but->block->aspect;
                }
                else if ((but->flag & UI_TEXT_RIGHT)) {
                        rect->xmax -= (UI_TEXT_MARGIN_X * U.widget_unit) / but->block->aspect;
                }
-               
-               /* unlink icon for this button type */
-               if (but->type == SEARCH_MENU_UNLINK && !but->editstr && but->drawstr[0]) {
-                       rcti temp = *rect;
-
-                       temp.xmin = temp.xmax - (BLI_rcti_size_y(rect) * 1.08f);
-                       widget_draw_icon(but, ICON_X, alpha, &temp);
-               }
-
-               /* always draw text for textbutton cursor */
-               widget_draw_text(fstyle, wcol, but, rect);
+       }
+       else if ((but->flag & UI_TEXT_LEFT)) {
+               rect->xmin += (UI_TEXT_MARGIN_X * U.widget_unit) / but->block->aspect;
+       }
+       else if ((but->flag & UI_TEXT_RIGHT)) {
+               rect->xmax -= (UI_TEXT_MARGIN_X * U.widget_unit) / but->block->aspect;
+       }
+       
+       /* unlink icon for this button type */
+       if (but->type == SEARCH_MENU_UNLINK && !but->editstr && but->drawstr[0]) {
+               rcti temp = *rect;
 
+               temp.xmin = temp.xmax - (BLI_rcti_size_y(rect) * 1.08f);
+               widget_draw_icon(but, ICON_X, alpha, &temp);
        }
 
+       /* always draw text for textbutton cursor */
+       widget_draw_text(fstyle, wcol, but, rect);
+
        ui_button_text_password_hide(password_str, but, TRUE);
 }
 
@@ -3279,7 +3249,6 @@ void ui_draw_but(const bContext *C, ARegion *ar, uiStyle *style, uiBut *but, rct
                        case TOGBUT:
                        case TOG:
                        case TOGN:
-                       case TOG3:
                                wt = widget_type(UI_WTYPE_TOGGLE);
                                break;
                                
@@ -3300,7 +3269,6 @@ void ui_draw_but(const bContext *C, ARegion *ar, uiStyle *style, uiBut *but, rct
                                
                        case MENU:
                        case BLOCK:
-                       case ICONTEXTROW:
                                /* new node-link button, not active yet XXX */
                                if (but->flag & UI_BUT_NODE_LINK)
                                        wt = widget_type(UI_WTYPE_MENU_NODE_LINK);
index a7afa3f108bcbcfafad4de834e3d2472a4a0b3dd..234a45856d26542507f37952aad6c8f1361b74aa 100644 (file)
@@ -395,79 +395,6 @@ bool paintface_minmax(Object *ob, float r_min[3], float r_max[3])
        return ok;
 }
 
-/* *************************************** */
-#if 0
-static void seam_edgehash_insert_face(EdgeHash *ehash, MPoly *mp, MLoop *loopstart)
-{
-       MLoop *ml1, *ml2;
-       int a;
-
-       for (a = 0; a < mp->totloop; a++) {
-               ml1 = loopstart + a;
-               ml2 = loopstart + (a + 1) % mp->totloop;
-
-               BLI_edgehash_insert(ehash, ml1->v, ml2->v, NULL);
-       }
-}
-
-void seam_mark_clear_tface(Scene *scene, short mode)
-{
-       Mesh *me;
-       MPoly *mp;
-       MLoop *ml1, *ml2;
-       MEdge *med;
-       int a, b;
-       
-       me = BKE_mesh_from_object(OBACT);
-       if (me == 0 ||  me->totpoly == 0) return;
-
-       if (mode == 0)
-               mode = pupmenu(IFACE_("Seams %t|Mark Border Seam %x1|Clear Seam %x2"));
-
-       if (mode != 1 && mode != 2)
-               return;
-
-       if (mode == 2) {
-               EdgeHash *ehash = BLI_edgehash_new();
-
-               for (a = 0, mp = me->mpoly; a < me->totpoly; a++, mp++)
-                       if (!(mp->flag & ME_HIDE) && (mp->flag & ME_FACE_SEL))
-                               seam_edgehash_insert_face(ehash, mp, me->mloop + mp->loopstart);
-
-               for (a = 0, med = me->medge; a < me->totedge; a++, med++)
-                       if (BLI_edgehash_haskey(ehash, med->v1, med->v2))
-                               med->flag &= ~ME_SEAM;
-
-               BLI_edgehash_free(ehash, NULL);
-       }
-       else {
-               /* mark edges that are on both selected and deselected faces */
-               EdgeHash *ehash1 = BLI_edgehash_new();
-               EdgeHash *ehash2 = BLI_edgehash_new();
-
-               for (a = 0, mp = me->mpoly; a < me->totpoly; a++, mp++) {
-                       if ((mp->flag & ME_HIDE) || !(mp->flag & ME_FACE_SEL))
-                               seam_edgehash_insert_face(ehash1, mp, me->mloop + mp->loopstart);
-                       else
-                               seam_edgehash_insert_face(ehash2, mp, me->mloop + mp->loopstart);
-               }
-
-               for (a = 0, med = me->medge; a < me->totedge; a++, med++)
-                       if (BLI_edgehash_haskey(ehash1, med->v1, med->v2) &&
-                           BLI_edgehash_haskey(ehash2, med->v1, med->v2))
-                               med->flag |= ME_SEAM;
-
-               BLI_edgehash_free(ehash1, NULL);
-               BLI_edgehash_free(ehash2, NULL);
-       }
-
-// XXX if (G.debug_value == 8)
-//             unwrap_lscm(1);
-
-       me->drawflag |= ME_DRAWSEAMS;
-}
-#endif
-
 bool paintface_mouse_select(struct bContext *C, Object *ob, const int mval[2], bool extend, bool deselect, bool toggle)
 {
        Mesh *me;
index c1017dfce7cf92021d616e47f3b1a5643c6ed598..cccf08cfe1aadf333587b4c7ca3e001a6d99f2a3 100644 (file)
@@ -329,36 +329,27 @@ static int edbm_extrude_mesh(Scene *scene, Object *obedit, BMEditMesh *em, wmOpe
 
        zero_v3(nor);
 
-       /* XXX If those popup menus were to be enabled again, please get rid of this "menu string" syntax! */
        if (em->selectmode & SCE_SELECT_VERTEX) {
                if (em->bm->totvertsel == 0) nr = 0;
                else if (em->bm->totvertsel == 1) nr = 4;
                else if (em->bm->totedgesel == 0) nr = 4;
                else if (em->bm->totfacesel == 0)
-                       nr = 3;  /* pupmenu("Extrude %t|Only Edges %x3|Only Vertices %x4"); */
+                       nr = 3;
                else if (em->bm->totfacesel == 1)
-                       nr = 1;  /* pupmenu("Extrude %t|Region %x1|Only Edges% x3|Only Vertices %x4"); */
+                       nr = 1;
                else
-                       nr = 1;  /* pupmenu("Extrude %t|Region %x1|Individual Faces %x2|Only Edges %x3|Only Vertices %x4"); */
+                       nr = 1;
        }
        else if (em->selectmode & SCE_SELECT_EDGE) {
                if (em->bm->totedgesel == 0) nr = 0;
                
                nr = 1;
-#if 0
-               else if (em->totedgesel == 1) nr = 3;
-               else if (em->totfacesel == 0) nr = 3;
-               else if (em->totfacesel == 1)
-                       nr = 1;  /* pupmenu("Extrude %t|Region %x1|Only Edges %x3"); */
-               else
-                       nr = 1;  /* pupmenu("Extrude %t|Region %x1|Individual Faces %x2|Only Edges %x3"); */
-#endif
        }
        else {
                if (em->bm->totfacesel == 0) nr = 0;
                else if (em->bm->totfacesel == 1) nr = 1;
                else
-                       nr = 1;  /* pupmenu("Extrude %t|Region %x1|Individual Faces %x2"); */
+                       nr = 1;
        }
 
        if (nr < 1) return 'g';