use ICON_NULL define rather then 0, makes UI calls less confusing. (no functional...
[blender.git] / source / blender / editors / space_text / text_header.c
index c761587198f268348b937c71cde2a3678d11decc..8ad4d6fa89067f226e38b0c9ca0ed97d589d5004 100644 (file)
@@ -15,7 +15,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software Foundation,
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software Foundation,
- * Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  *
  * The Original Code is Copyright (C) 2008 Blender Foundation.
  * All rights reserved.
  *
  * The Original Code is Copyright (C) 2008 Blender Foundation.
  * All rights reserved.
 #include "BLI_winstuff.h"
 #endif
 
 #include "BLI_winstuff.h"
 #endif
 
-#include "DNA_space_types.h"
-#include "DNA_scene_types.h"
-#include "DNA_screen_types.h"
-#include "DNA_text_types.h"
 #include "DNA_windowmanager_types.h"
 
 #include "MEM_guardedalloc.h"
 #include "DNA_windowmanager_types.h"
 
 #include "MEM_guardedalloc.h"
 #include "BLI_blenlib.h"
 
 #include "BKE_context.h"
 #include "BLI_blenlib.h"
 
 #include "BKE_context.h"
-#include "BKE_global.h"
-#include "BKE_library.h"
-#include "BKE_main.h"
-#include "BKE_scene.h"
-#include "BKE_screen.h"
-#include "BKE_text.h"
 
 #include "ED_screen.h"
 
 #include "ED_screen.h"
-#include "ED_types.h"
-#include "ED_util.h"
 
 
-#include "WM_api.h"
 #include "WM_types.h"
 
 #include "WM_types.h"
 
-#include "BIF_gl.h"
-#include "BIF_glutil.h"
 
 
-#include "UI_interface.h"
-#include "UI_resources.h"
-#include "UI_view2d.h"
 
 
-#include "RNA_access.h"
 
 
-#ifndef DISABLE_PYTHON
-#include "BPY_extern.h"
+#ifdef WITH_PYTHON
 // XXX #include "BPY_menus.h"
 #endif
 
 // XXX #include "BPY_menus.h"
 #endif
 
 
 /* ************************ header area region *********************** */
 
 
 /* ************************ header area region *********************** */
 
-#ifndef DISABLE_PYTHON
-#if 0
-static void do_text_template_scriptsmenu(bContext *C, void *arg, int event)
-{
-       // XXX BPY_menu_do_python(PYMENU_SCRIPTTEMPLATE, event);
-}
-
-static uiBlock *text_template_scriptsmenu(bContext *C, void *args_unused)
-{
-       ARegion *ar= CTX_wm_region(C);
-       uiBlock *block;
-       // XXX BPyMenu *pym;
-       // int i= 0;
-       // short yco = 20, menuwidth = 120;
-       
-       block= uiBeginBlock(C, ar, "text_template_scriptsmenu", UI_EMBOSSP);
-       uiBlockSetButmFunc(block, do_text_template_scriptsmenu, NULL);
-       
-       /* note that we acount for the N previous entries with i+20: */
-       /* XXX for (pym = BPyMenuTable[PYMENU_SCRIPTTEMPLATE]; pym; pym = pym->next, i++) {
-               
-               uiDefIconTextBut(block, BUTM, 1, ICON_PYTHON, pym->name, 0, yco-=20, menuwidth, 19, 
-                                                NULL, 0.0, 0.0, 1, i, 
-                                                pym->tooltip?pym->tooltip:pym->filename);
-       }*/
-       
-       uiBlockSetDirection(block, UI_RIGHT);
-       uiTextBoundsBlock(block, 60);
-
-       uiEndBlock(C, block);
-       uiDrawBlock(C, block);
-       
-       return block;
-}
-
-static void do_text_plugin_scriptsmenu(bContext *C, void *arg, int event)
-{
-       // XXX BPY_menu_do_python(PYMENU_TEXTPLUGIN, event);
-}
-
-static uiBlock *text_plugin_scriptsmenu(bContext *C, void *args_unused)
-{
-       ARegion *ar= CTX_wm_region(C);
-       uiBlock *block;
-       // XXX BPyMenu *pym;
-       // int i= 0;
-       // short yco = 20, menuwidth = 120;
-       
-       block= uiBeginBlock(C, ar, "text_plugin_scriptsmenu", UI_EMBOSSP);
-       uiBlockSetButmFunc(block, do_text_plugin_scriptsmenu, NULL);
-       
-       /* note that we acount for the N previous entries with i+20: */
-       /* XXX for (pym = BPyMenuTable[PYMENU_TEXTPLUGIN]; pym; pym = pym->next, i++) {
-               
-               uiDefIconTextBut(block, BUTM, 1, ICON_PYTHON, pym->name, 0, yco-=20, menuwidth, 19, 
-                                                NULL, 0.0, 0.0, 1, i, 
-                                                pym->tooltip?pym->tooltip:pym->filename);
-       }*/
-       
-       uiBlockSetDirection(block, UI_RIGHT);
-       uiTextBoundsBlock(block, 60);
-
-       uiEndBlock(C, block);
-       uiDrawBlock(C, block);
-
-       return block;
-}
-#endif
-#endif
-
 /************************** properties ******************************/
 
 ARegion *text_has_properties_region(ScrArea *sa)
 /************************** properties ******************************/
 
 ARegion *text_has_properties_region(ScrArea *sa)
@@ -188,24 +98,16 @@ ARegion *text_has_properties_region(ScrArea *sa)
 
 static int properties_poll(bContext *C)
 {
 
 static int properties_poll(bContext *C)
 {
-       SpaceText *st= CTX_wm_space_text(C);
-       Text *text= CTX_data_edit_text(C);
-
-       return (st && text);
+       return (CTX_wm_space_text(C) != NULL);
 }
 
 }
 
-static int properties_exec(bContext *C, wmOperator *op)
+static int properties_exec(bContext *C, wmOperator *UNUSED(op))
 {
        ScrArea *sa= CTX_wm_area(C);
        ARegion *ar= text_has_properties_region(sa);
        
 {
        ScrArea *sa= CTX_wm_area(C);
        ARegion *ar= text_has_properties_region(sa);
        
-       if(ar) {
-               ar->flag ^= RGN_FLAG_HIDDEN;
-               ar->v2d.flag &= ~V2D_IS_INITIALISED; /* XXX should become hide/unhide api? */
-               
-               ED_area_initialize(CTX_wm_manager(C), CTX_wm_window(C), sa);
-               ED_area_tag_redraw(sa);
-       }
+       if(ar)
+               ED_region_toggle_hidden(C, ar);
 
        return OPERATOR_FINISHED;
 }
 
        return OPERATOR_FINISHED;
 }
@@ -214,6 +116,7 @@ void TEXT_OT_properties(wmOperatorType *ot)
 {
        /* identifiers */
        ot->name= "Properties";
 {
        /* identifiers */
        ot->name= "Properties";
+       ot->description= "Toggle text properties panel";
        ot->idname= "TEXT_OT_properties";
        
        /* api callbacks */
        ot->idname= "TEXT_OT_properties";
        
        /* api callbacks */
@@ -230,23 +133,23 @@ void TEXT_OT_properties(wmOperatorType *ot)
        uiPopupMenu *pup;
 
        if(text) {
        uiPopupMenu *pup;
 
        if(text) {
-               pup= uiPupMenuBegin(C, "Text", 0);
+               pup= uiPupMenuBegin(C, "Text", ICON_NULL);
                if(txt_has_sel(text)) {
                if(txt_has_sel(text)) {
-                       uiItemO(layout, NULL, 0, "TEXT_OT_cut");
-                       uiItemO(layout, NULL, 0, "TEXT_OT_copy");
+                       uiItemO(layout, NULL, ICON_NULL, "TEXT_OT_cut");
+                       uiItemO(layout, NULL, ICON_NULL, "TEXT_OT_copy");
                }
                }
-               uiItemO(layout, NULL, 0, "TEXT_OT_paste");
-               uiItemO(layout, NULL, 0, "TEXT_OT_new");
-               uiItemO(layout, NULL, 0, "TEXT_OT_open");
-               uiItemO(layout, NULL, 0, "TEXT_OT_save");
-               uiItemO(layout, NULL, 0, "TEXT_OT_save_as");
-               uiItemO(layout, NULL, 0, "TEXT_OT_run_script");
+               uiItemO(layout, NULL, ICON_NULL, "TEXT_OT_paste");
+               uiItemO(layout, NULL, ICON_NULL, "TEXT_OT_new");
+               uiItemO(layout, NULL, ICON_NULL, "TEXT_OT_open");
+               uiItemO(layout, NULL, ICON_NULL, "TEXT_OT_save");
+               uiItemO(layout, NULL, ICON_NULL, "TEXT_OT_save_as");
+               uiItemO(layout, NULL, ICON_NULL, "TEXT_OT_run_script");
                uiPupMenuEnd(C, pup);
        }
        else {
                uiPupMenuEnd(C, pup);
        }
        else {
-               pup= uiPupMenuBegin(C, "File", 0);
-               uiItemO(layout, NULL, 0, "TEXT_OT_new");
-               uiItemO(layout, NULL, 0, "TEXT_OT_open");
+               pup= uiPupMenuBegin(C, "File", ICON_NULL);
+               uiItemO(layout, NULL, ICON_NULL, "TEXT_OT_new");
+               uiItemO(layout, NULL, ICON_NULL, "TEXT_OT_open");
                uiPupMenuEnd(C, pup);
        }
 }
                uiPupMenuEnd(C, pup);
        }
 }
@@ -256,10 +159,10 @@ void TEXT_OT_properties(wmOperatorType *ot)
 
        uiPopupMenu *pup;
 
 
        uiPopupMenu *pup;
 
-       pup= uiPupMenuBegin(C, "Edit", 0);
-       uiItemO(layout, NULL, 0, "TEXT_OT_cut");
-       uiItemO(layout, NULL, 0, "TEXT_OT_copy");
-       uiItemO(layout, NULL, 0, "TEXT_OT_paste");
+       pup= uiPupMenuBegin(C, "Edit", ICON_NULL);
+       uiItemO(layout, NULL, ICON_NULL, "TEXT_OT_cut");
+       uiItemO(layout, NULL, ICON_NULL, "TEXT_OT_copy");
+       uiItemO(layout, NULL, ICON_NULL, "TEXT_OT_paste");
        uiPupMenuEnd(C, pup);
 }
 
        uiPupMenuEnd(C, pup);
 }
 
@@ -269,18 +172,18 @@ void TEXT_OT_properties(wmOperatorType *ot)
        uiPopupMenu *pup;
 
        if(text) {
        uiPopupMenu *pup;
 
        if(text) {
-               pup= uiPupMenuBegin(C, "Text", 0);
-               uiItemO(layout, NULL, 0, "TEXT_OT_new");
-               uiItemO(layout, NULL, 0, "TEXT_OT_open");
-               uiItemO(layout, NULL, 0, "TEXT_OT_save");
-               uiItemO(layout, NULL, 0, "TEXT_OT_save_as");
-               uiItemO(layout, NULL, 0, "TEXT_OT_run_script");
+               pup= uiPupMenuBegin(C, "Text", ICON_NULL);
+               uiItemO(layout, NULL, ICON_NULL, "TEXT_OT_new");
+               uiItemO(layout, NULL, ICON_NULL, "TEXT_OT_open");
+               uiItemO(layout, NULL, ICON_NULL, "TEXT_OT_save");
+               uiItemO(layout, NULL, ICON_NULL, "TEXT_OT_save_as");
+               uiItemO(layout, NULL, ICON_NULL, "TEXT_OT_run_script");
                uiPupMenuEnd(C, pup);
        }
        else {
                uiPupMenuEnd(C, pup);
        }
        else {
-               pup= uiPupMenuBegin(C, "File", 0);
-               uiItemO(layout, NULL, 0, "TEXT_OT_new");
-               uiItemO(layout, NULL, 0, "TEXT_OT_open");
+               pup= uiPupMenuBegin(C, "File", ICON_NULL);
+               uiItemO(layout, NULL, ICON_NULL, "TEXT_OT_new");
+               uiItemO(layout, NULL, ICON_NULL, "TEXT_OT_open");
                uiPupMenuEnd(C, pup);
        }
 }
                uiPupMenuEnd(C, pup);
        }
 }
@@ -290,11 +193,11 @@ void TEXT_OT_properties(wmOperatorType *ot)
 
        uiPopupMenu *pup;
 
 
        uiPopupMenu *pup;
 
-       pup= uiPupMenuBegin(C, "Text", 0);
-       uiItemEnumO(layout, "Top of File", 0, "TEXT_OT_move", "type", FILE_TOP);
-       uiItemEnumO(layout, "Bottom of File", 0, "TEXT_OT_move", "type", FILE_BOTTOM);
-       uiItemEnumO(layout, "Page Up", 0, "TEXT_OT_move", "type", PREV_PAGE);
-       uiItemEnumO(layout,  "Page Down", 0, "TEXT_OT_move", "type", NEXT_PAGE);
+       pup= uiPupMenuBegin(C, "Text", ICON_NULL);
+       uiItemEnumO(layout, "TEXT_OT_move", "Top of File", 0, "type", FILE_TOP);
+       uiItemEnumO(layout, "TEXT_OT_move", "Bottom of File", 0, "type", FILE_BOTTOM);
+       uiItemEnumO(layout, "TEXT_OT_move", "Page Up", 0, "type", PREV_PAGE);
+       uiItemEnumO(layout, "TEXT_OT_move", "Page Down", 0, "type", NEXT_PAGE);
        uiPupMenuEnd(C, pup);
 }
 #endif
        uiPupMenuEnd(C, pup);
 }
 #endif