Merge branch 'master' into blender2.8
authorCampbell Barton <ideasman42@gmail.com>
Mon, 9 Jul 2018 04:40:47 +0000 (06:40 +0200)
committerCampbell Barton <ideasman42@gmail.com>
Mon, 9 Jul 2018 04:41:21 +0000 (06:41 +0200)
1  2 
source/blender/editors/include/UI_interface.h

index 4114c2098942bd479da9f59a11d0930f95dfc46d,51f79e05bf9ae039aa9ee81de0bf736c09397594..d23748356fa22cd7624a1dba3f6fc86e75ea7300
@@@ -742,34 -697,23 +745,35 @@@ uiBut *uiDefKeyevtButS(uiBlock *block, 
  uiBut *uiDefHotKeyevtButS(uiBlock *block, int retval, const char *str, int x, int y, short width, short height, short *keypoin, short *modkeypoin, const char *tip);
  
  uiBut *uiDefSearchBut(uiBlock *block, void *arg, int retval, int icon, int maxlen, int x, int y, short width, short height, float a1, float a2, const char *tip);
- uiBut *uiDefSearchButO_ptr(uiBlock *block, struct wmOperatorType *ot, struct IDProperty *properties,
-                            void *arg, int retval, int icon, int maxlen, int x, int y,
-                            short width, short height, float a1, float a2, const char *tip);
+ uiBut *uiDefSearchButO_ptr(
+         uiBlock *block, struct wmOperatorType *ot, struct IDProperty *properties,
+         void *arg, int retval, int icon, int maxlen, int x, int y,
+         short width, short height, float a1, float a2, const char *tip);
  
 -uiBut *uiDefAutoButR(uiBlock *block, struct PointerRNA *ptr, struct PropertyRNA *prop, int index, const char *name, int icon, int x1, int y1, int x2, int y2);
 -int uiDefAutoButsRNA(uiLayout *layout, struct PointerRNA *ptr, bool (*check_prop)(struct PointerRNA *, struct PropertyRNA *), const char label_align);
 -
 -/* Links
 - *
 - * Game engine logic brick links. Non-functional currently in 2.5,
 - * code to handle and draw these is disabled internally. */
  
 -void UI_but_link_set(struct uiBut *but,  void **poin,  void ***ppoin,  short *tot,  int from, int to);
 +/* For uiDefAutoButsRNA */
 +typedef enum {
 +      /* Keep current layout for aligning label with property button. */
 +      UI_BUT_LABEL_ALIGN_NONE,
 +      /* Align label and property button vertically. */
 +      UI_BUT_LABEL_ALIGN_COLUMN,
 +      /* Split layout into a column for the label and one for property button. */
 +      UI_BUT_LABEL_ALIGN_SPLIT_COLUMN,
 +} eButLabelAlign;
 +
 +/* Return info for uiDefAutoButsRNA */
 +typedef enum {
 +      /* Returns when no buttons were added */
 +      UI_PROP_BUTS_NONE_ADDED       = (1 << 0),
 +      /* Returned when any property failed the custom check callback (check_prop) */
 +      UI_PROP_BUTS_ANY_FAILED_CHECK = (1 << 1),
 +} eAutoPropButsReturn;
  
 -void UI_block_links_compose(uiBlock *block);
 -uiBut *UI_block_links_find_inlink(uiBlock *block, void *poin);
 +uiBut *uiDefAutoButR(uiBlock *block, struct PointerRNA *ptr, struct PropertyRNA *prop, int index, const char *name, int icon, int x1, int y1, int x2, int y2);
 +eAutoPropButsReturn uiDefAutoButsRNA(
 +        uiLayout *layout, struct PointerRNA *ptr,
 +        bool (*check_prop)(struct PointerRNA *, struct PropertyRNA *),
 +        eButLabelAlign label_align, const bool compact);
  
  /* use inside searchfunc to add items */
  bool    UI_search_item_add(uiSearchItems *items, const char *name, void *poin, int iconid);
@@@ -839,14 -784,12 +844,15 @@@ void UI_panels_begin(const struct bCont
  void UI_panels_end(const struct bContext *C, struct ARegion *ar, int *x, int *y);
  void UI_panels_draw(const struct bContext *C, struct ARegion *ar);
  
 -struct Panel *UI_panel_find_by_type(struct ARegion *ar, struct PanelType *pt);
 +struct Panel *UI_panel_find_by_type(struct ListBase *lb, struct PanelType *pt);
- struct Panel *UI_panel_begin(struct ScrArea *sa, struct ARegion *ar, struct ListBase *lb,
-                              uiBlock *block, struct PanelType *pt, struct Panel *pa,
-                              bool *r_open);
+ struct Panel *UI_panel_begin(
 -        struct ScrArea *sa, struct ARegion *ar, uiBlock *block,
 -        struct PanelType *pt, struct Panel *pa, bool *r_open);
++        struct ScrArea *sa, struct ARegion *ar, struct ListBase *lb,
++        uiBlock *block, struct PanelType *pt, struct Panel *pa,
++        bool *r_open);
  void UI_panel_end(uiBlock *block, int width, int height);
  void UI_panels_scale(struct ARegion *ar, float new_width);
 +void UI_panel_label_offset(struct uiBlock *block, int *x, int *y);
 +int UI_panel_size_y(const struct Panel *pa);
  
  bool                       UI_panel_category_is_visible(struct ARegion *ar);
  void                       UI_panel_category_add(struct ARegion *ar, const char *name);
@@@ -999,11 -927,10 +1005,12 @@@ bool uiLayoutGetPropDecorate(uiLayout *
  uiLayout *uiLayoutRow(uiLayout *layout, bool align);
  uiLayout *uiLayoutColumn(uiLayout *layout, bool align);
  uiLayout *uiLayoutColumnFlow(uiLayout *layout, int number, bool align);
 +uiLayout *uiLayoutGridFlow(
 +        uiLayout *layout, bool row_major, int columns_len, bool even_columns, bool even_rows, bool align);
  uiLayout *uiLayoutBox(uiLayout *layout);
- uiLayout *uiLayoutListBox(uiLayout *layout, struct uiList *ui_list, struct PointerRNA *ptr, struct PropertyRNA *prop,
-                           struct PointerRNA *actptr, struct PropertyRNA *actprop);
+ uiLayout *uiLayoutListBox(
+         uiLayout *layout, struct uiList *ui_list, struct PointerRNA *ptr, struct PropertyRNA *prop,
+         struct PointerRNA *actptr, struct PropertyRNA *actprop);
  uiLayout *uiLayoutAbsolute(uiLayout *layout, bool align);
  uiLayout *uiLayoutSplit(uiLayout *layout, float percentage, bool align);
  uiLayout *uiLayoutOverlap(uiLayout *layout);
@@@ -1021,45 -948,33 +1028,50 @@@ void uiTemplateIDBrowse
  void uiTemplateIDPreview(
          uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, const char *propname,
          const char *newop, const char *openop, const char *unlinkop, int rows, int cols, int filter);
- void uiTemplateAnyID(uiLayout *layout, struct PointerRNA *ptr, const char *propname,
-                      const char *proptypename, const char *text);
 +void uiTemplateIDTabs(
 +        uiLayout *layout, struct bContext *C,
 +        PointerRNA *ptr, const char *propname,
 +        const char *newop, const char *openop, const char *unlinkop,
 +        int filter);
- void uiTemplatePathBuilder(uiLayout *layout, struct PointerRNA *ptr, const char *propname,
-                            struct PointerRNA *root_ptr, const char *text);
+ void uiTemplateAnyID(
+         uiLayout *layout, struct PointerRNA *ptr, const char *propname,
+         const char *proptypename, const char *text);
 +void uiTemplateSearch(
 +        uiLayout *layout, struct bContext *C,
 +        struct PointerRNA *ptr, const char *propname,
 +        struct PointerRNA *searchptr, const char *searchpropname,
 +        const char *newop, const char *unlinkop);
 +void uiTemplateSearchPreview(
 +        uiLayout *layout, struct bContext *C,
 +        struct PointerRNA *ptr, const char *propname,
 +        struct PointerRNA *searchptr, const char *searchpropname,
 +        const char *newop, const char *unlinkop,
 +        const int rows, const int cols);
+ void uiTemplatePathBuilder(
+         uiLayout *layout, struct PointerRNA *ptr, const char *propname,
+         struct PointerRNA *root_ptr, const char *text);
  uiLayout *uiTemplateModifier(uiLayout *layout, struct bContext *C, struct PointerRNA *ptr);
 +
 +void uiTemplateOperatorRedoProperties(uiLayout *layout, const struct bContext *C);
 +
  uiLayout *uiTemplateConstraint(uiLayout *layout, struct PointerRNA *ptr);
- void uiTemplatePreview(uiLayout *layout, struct bContext *C, struct ID *id, bool show_buttons, struct ID *parent,
-                        struct MTex *slot, const char *preview_id);
+ void uiTemplatePreview(
+         uiLayout *layout, struct bContext *C, struct ID *id, bool show_buttons, struct ID *parent,
+         struct MTex *slot, const char *preview_id);
  void uiTemplateColorRamp(uiLayout *layout, struct PointerRNA *ptr, const char *propname, bool expand);
 +void uiTemplateIcon(uiLayout *layout, int icon_value, float icon_scale);
  void uiTemplateIconView(uiLayout *layout, struct PointerRNA *ptr, const char *propname, bool show_labels, float icon_scale);
  void uiTemplateHistogram(uiLayout *layout, struct PointerRNA *ptr, const char *propname);
  void uiTemplateWaveform(uiLayout *layout, struct PointerRNA *ptr, const char *propname);
  void uiTemplateVectorscope(uiLayout *layout, struct PointerRNA *ptr, const char *propname);
- void uiTemplateCurveMapping(uiLayout *layout, struct PointerRNA *ptr, const char *propname, int type,
-                             bool levels, bool brush, bool neg_slope);
+ void uiTemplateCurveMapping(
+         uiLayout *layout, struct PointerRNA *ptr, const char *propname, int type,
+         bool levels, bool brush, bool neg_slope);
  void uiTemplateColorPicker(uiLayout *layout, struct PointerRNA *ptr, const char *propname, bool value_slider, bool lock, bool lock_luminosity, bool cubic);
  void uiTemplatePalette(uiLayout *layout, struct PointerRNA *ptr, const char *propname, bool color);
- void uiTemplateLayers(uiLayout *layout, struct PointerRNA *ptr, const char *propname,
-                       PointerRNA *used_ptr, const char *used_propname, int active_layer);
+ void uiTemplateLayers(
+         uiLayout *layout, struct PointerRNA *ptr, const char *propname,
+         PointerRNA *used_ptr, const char *used_propname, int active_layer);
 -void uiTemplateGameStates(
 -        uiLayout *layout, struct PointerRNA *ptr, const char *propname,
 -        PointerRNA *used_ptr, const char *used_propname, int active_state);
  void uiTemplateImage(uiLayout *layout, struct bContext *C, struct PointerRNA *ptr, const char *propname, struct PointerRNA *userptr, bool compact, bool multiview);
  void uiTemplateImageSettings(uiLayout *layout, struct PointerRNA *imfptr, bool color_management);
  void uiTemplateImageStereo3d(uiLayout *layout, struct PointerRNA *stereo3d_format_ptr);
@@@ -1205,17 -1105,15 +1218,21 @@@ uiBut *UI_region_active_but_get(struct 
  
  /* Styled text draw */
  void UI_fontstyle_set(const struct uiFontStyle *fs);
- void UI_fontstyle_draw_ex(const struct uiFontStyle *fs, const struct rcti *rect, const char *str,
-                           const unsigned char col[4], size_t len, float *r_xofs, float *r_yofs);
- void UI_fontstyle_draw(const struct uiFontStyle *fs, const struct rcti *rect, const char *str,
-                        const unsigned char col[4]);
- void UI_fontstyle_draw_rotated(const struct uiFontStyle *fs, const struct rcti *rect, const char *str,
-                                const unsigned char col[4]);
- void UI_fontstyle_draw_simple(const struct uiFontStyle *fs, float x, float y, const char *str,
-                               const unsigned char col[4]);
+ void UI_fontstyle_draw_ex(
+         const struct uiFontStyle *fs, const struct rcti *rect, const char *str,
 -        size_t len, float *r_xofs, float *r_yofs);
 -void UI_fontstyle_draw(const struct uiFontStyle *fs, const struct rcti *rect, const char *str);
 -void UI_fontstyle_draw_rotated(const struct uiFontStyle *fs, const struct rcti *rect, const char *str);
 -void UI_fontstyle_draw_simple(const struct uiFontStyle *fs, float x, float y, const char *str);
++        const unsigned char col[4], size_t len, float *r_xofs, float *r_yofs);
++void UI_fontstyle_draw(
++        const struct uiFontStyle *fs, const struct rcti *rect, const char *str,
++        const unsigned char col[4]);
++void UI_fontstyle_draw_rotated(
++        const struct uiFontStyle *fs, const struct rcti *rect, const char *str,
++        const unsigned char col[4]);
++void UI_fontstyle_draw_simple(
++        const struct uiFontStyle *fs, float x, float y, const char *str,
++        const unsigned char col[4]);
  void UI_fontstyle_draw_simple_backdrop(
          const struct uiFontStyle *fs, float x, float y, const char *str,
 -        const unsigned char fg[4], const unsigned char bg[4]);
 +        const float col_fg[4], const float col_bg[4]);
  
  int UI_fontstyle_string_width(const struct uiFontStyle *fs, const char *str);
  int UI_fontstyle_height_max(const struct uiFontStyle *fs);