Enlightenment CVS committal

Author  : davemds
Project : e17
Module  : proto

Dir     : e17/proto/edje_editor/src/bin


Modified Files:
        callbacks.c interface.c interface.h main.c main.h 


Log Message:
 * Add support for embryo scripting inside the editor! not really tested.
   Note that the etk textview widget is very limited for now...
   Does someone have plan to work on it?
 

===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/callbacks.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -3 -r1.24 -r1.25
--- callbacks.c 13 Jul 2007 16:54:57 -0000      1.24
+++ callbacks.c 15 Jul 2007 05:01:04 -0000      1.25
@@ -40,6 +40,7 @@
    char cmd[1024];
    Etk_Tree_Row *sel_row;
    int row_num;
+   Etk_String *text;
    
    switch ((int)data)
    {
@@ -106,7 +107,7 @@
          printf("Clicked signal on Toolbar Button 'Play' EMITTED\n");
          if (Cur.open_file_name) 
          {
-            snprintf(cmd,1024,"edje_editor -t %s %s 
&",Cur.open_file_name,Cur.eg->name);
+            snprintf(cmd,1024,"edje_editor -t \"%s\" \"%s\" 
&",Cur.open_file_name,Cur.eg->name);
             printf("TESTING EDJE. cmd: %s\n",cmd);
             system(cmd);
             //if (!system("type edje_viewer"))
@@ -157,6 +158,20 @@
             PROTO_engrave_part_state_image_tween_remove_all(Cur.eps);
             UpdateImageFrame();
          break;
+      case SAVE_SCRIPT:
+            text = 
etk_textblock_text_get(ETK_TEXT_VIEW(UI_ScriptBox)->textblock,ETK_TRUE);
+            if (Cur.epr)
+            {
+               printf("Save script (in prog %s): 
%s\n",Cur.epr->name,text->string);
+               engrave_program_script_set (Cur.epr, text->string);
+               
+            }else if (Cur.eg)
+            {
+               printf("Save script (in group %s): 
%s\n",Cur.eg->name,text->string);
+               engrave_group_script_set(Cur.eg, text->string);
+            }
+            etk_object_destroy(ETK_OBJECT(text));
+         break;
    }
 }
 
@@ -189,6 +204,8 @@
          etk_widget_hide(UI_PartFrame);
          etk_widget_hide(UI_ProgramFrame);
          etk_widget_show(UI_GroupFrame);
+         etk_widget_show(UI_ScriptFrame);
+         UpdateScriptFrame();
          break;
       case ROW_PART:
          Cur.epr = NULL;
@@ -203,6 +220,7 @@
          etk_widget_hide(UI_GroupFrame);
          etk_widget_hide(UI_ProgramFrame);
          etk_widget_show(UI_PartFrame);
+         etk_widget_hide(UI_ScriptFrame);
          UpdatePartFrame();
          break;
       case ROW_DESC: 
@@ -246,6 +264,7 @@
          etk_widget_hide(UI_PartFrame);
          etk_widget_hide(UI_GroupFrame);
          etk_widget_hide(UI_ProgramFrame);
+         etk_widget_hide(UI_ScriptFrame);
          etk_widget_show(UI_DescriptionFrame);
          etk_widget_show(UI_PositionFrame);
          break;
@@ -262,6 +281,8 @@
          etk_widget_hide(UI_GroupFrame);
          etk_widget_hide(UI_PartFrame);
          etk_widget_show(UI_ProgramFrame);
+         etk_widget_show(UI_ScriptFrame);
+         UpdateScriptFrame();
          UpdateProgFrame();
          PopulateSourceComboBox();
          break;
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/interface.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -3 -r1.30 -r1.31
--- interface.c 14 Jul 2007 00:11:22 -0000      1.30
+++ interface.c 15 Jul 2007 05:01:04 -0000      1.31
@@ -770,7 +770,7 @@
    if (!Cur.epr)
       return;
    
-   printf("Update Program: '%s\n",Cur.epr->name);
+   printf("Update Program: %s\n",Cur.epr->name);
    
    //Stop signal propagation
    etk_signal_block("text-changed", ETK_OBJECT(UI_ProgramEntry),
@@ -895,6 +895,24 @@
 }
 
 void
+UpdateScriptFrame(void)
+{
+   //Update ScriptBox
+   if (Cur.epr){
+      printf("Update prog script: %s\n",Cur.epr->script);
+      etk_textblock_text_set(ETK_TEXT_VIEW(UI_ScriptBox)->textblock, 
+                              engrave_program_script_get(Cur.epr), ETK_FALSE);
+      return;
+   }
+   if (Cur.eg){
+      printf("Update group script: %s\n",Cur.eg->script);
+      etk_textblock_text_set (ETK_TEXT_VIEW(UI_ScriptBox)->textblock, 
+                              engrave_group_script_get(Cur.eg), ETK_FALSE);
+      return;
+   }
+   etk_textblock_clear(ETK_TEXT_VIEW(UI_ScriptBox)->textblock);
+}
+void
 ShowFilechooser(int FileChooserType)
 {
    etk_widget_show_all(UI_FileChooserDialog);
@@ -1242,7 +1260,7 @@
    Etk_Widget *vbox;
 
    //frame
-   UI_GroupFrame = etk_frame_new("Group property");
+   UI_GroupFrame = etk_frame_new("Group");
 
    //vbox
    vbox = etk_vbox_new(ETK_FALSE, 0);
@@ -1942,7 +1960,7 @@
    Etk_Widget *combo;
 
    //PartFrame
-   UI_PartFrame = etk_frame_new("Part property");
+   UI_PartFrame = etk_frame_new("Part");
 
    //table
    table = etk_table_new (2, 3, ETK_TABLE_NOT_HOMOGENEOUS);
@@ -1983,6 +2001,7 @@
 {
    Etk_Widget *table;
    Etk_Widget *label;
+   
    //RectFrame
    UI_ProgramFrame = etk_frame_new("Program");
 
@@ -2114,7 +2133,6 @@
    UI_Param2Entry = etk_entry_new();
    etk_tooltips_tip_set(UI_Param2Entry, "!!!!!!");
    etk_table_attach_default(ETK_TABLE(table), UI_Param2Entry, 1, 2, 9, 9);
-   
  
    etk_signal_connect("active-item-changed", ETK_OBJECT(UI_ActionComboBox), 
          ETK_CALLBACK(on_ActionComboBox_changed), NULL);
@@ -2147,12 +2165,44 @@
 
    return UI_ProgramFrame;
 }
+Etk_Widget*
+create_script_frame(void)
+{
+   Etk_Widget *sv;
+   Etk_Widget *vbox;
+   
+   //RectFrame
+   UI_ScriptFrame = etk_frame_new("Script");
+   
+   //vbox
+   vbox = etk_vbox_new(ETK_FALSE, 0);
+   etk_container_add(ETK_CONTAINER(UI_ScriptFrame), vbox);
+
+   //ScriptBox
+   UI_ScriptBox = etk_text_view_new();
+   sv = etk_scrolled_view_new();
+   etk_scrolled_view_policy_set(ETK_SCROLLED_VIEW(sv),
+                                 ETK_POLICY_AUTO, ETK_POLICY_AUTO);
+   etk_bin_child_set(ETK_BIN(sv), UI_ScriptBox);
+   etk_box_append(ETK_BOX(vbox), sv, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0);
+
+   //ScriptSaveButton
+   UI_ScriptSaveButton = etk_button_new_from_stock(ETK_STOCK_DOCUMENT_SAVE);
+   etk_object_properties_set(ETK_OBJECT(UI_ScriptSaveButton),
+                              "label","Save script",NULL);
+   etk_box_append(ETK_BOX(vbox), UI_ScriptSaveButton,
+                  ETK_BOX_START, ETK_BOX_NONE, 0);
+
+   etk_signal_connect("clicked", ETK_OBJECT(UI_ScriptSaveButton),
+            ETK_CALLBACK(on_AllButton_click), (void*)SAVE_SCRIPT);
+ 
+   return UI_ScriptFrame;
+}
 
 void
 create_main_window(void)
 {
    Etk_Widget *vbox,*hbox,*vbox0;
-   int NewStyleInterface = TRUE;
    
    etk_tooltips_init ();
    etk_tooltips_enable();
@@ -2180,67 +2230,29 @@
    etk_window_title_set(ETK_WINDOW(UI_MainWin), "Edje Editor");
    etk_container_border_width_set(ETK_CONTAINER(UI_MainWin), 2);
 
-   if (NewStyleInterface){
-      //vbox0
-      vbox0 = etk_vbox_new(ETK_FALSE, 0);
-      etk_container_add(ETK_CONTAINER(UI_MainWin), vbox0);
+   //vbox0
+   vbox0 = etk_vbox_new(ETK_FALSE, 0);
+   etk_container_add(ETK_CONTAINER(UI_MainWin), vbox0);
 
-      //ToolBar
-      etk_box_append(ETK_BOX(vbox0), create_toolbar(ETK_TOOLBAR_HORIZ), 
ETK_BOX_START, ETK_BOX_NONE, 0);
-      
-      //hbox
-      hbox = etk_hbox_new(ETK_FALSE, 0);
-      etk_box_append(ETK_BOX(vbox0), hbox, ETK_BOX_START, ETK_BOX_EXPAND_FILL, 
0);
-      
-      //Tree Frame
-      etk_box_append(ETK_BOX(hbox), create_tree_frame(), ETK_BOX_START, 
ETK_BOX_FILL, 0);
-      
+   //ToolBar
+   etk_box_append(ETK_BOX(vbox0), create_toolbar(ETK_TOOLBAR_HORIZ),
+                  ETK_BOX_START, ETK_BOX_NONE, 0);
    
-   }else{
-      //hbox
-      hbox = etk_hbox_new(ETK_FALSE, 0);
-      etk_container_add(ETK_CONTAINER(UI_MainWin), hbox);
-
-      //ToolBar
-      etk_box_append(ETK_BOX(hbox), create_toolbar(ETK_TOOLBAR_VERT), 
ETK_BOX_START, ETK_BOX_NONE, 0);
-
-      //vbox
-      vbox = etk_vbox_new(ETK_FALSE, 0);
-      etk_box_append(ETK_BOX(hbox), vbox, ETK_BOX_START, ETK_BOX_NONE, 0);
-
-      //Tree Frame
-      etk_box_append(ETK_BOX(vbox), create_tree_frame(), ETK_BOX_START, 
ETK_BOX_EXPAND_FILL, 0);
-
-      //Group Frame
-      etk_box_append(ETK_BOX(vbox), create_group_frame(), ETK_BOX_START, 
ETK_BOX_NONE, 0);
-
-      //Part Frame
-      etk_box_append(ETK_BOX(vbox), create_part_frame(), ETK_BOX_START, 
ETK_BOX_NONE, 0);
-
-      //Description Frame
-      etk_box_append(ETK_BOX(vbox), create_description_frame(), ETK_BOX_START, 
ETK_BOX_NONE, 0);
-
-      //Rectangle Frame
-      etk_box_append(ETK_BOX(vbox), create_rectangle_frame(), ETK_BOX_START, 
ETK_BOX_NONE, 0);
-
-      //Image Frame
-      etk_box_append(ETK_BOX(vbox), create_image_frame(), ETK_BOX_START, 
ETK_BOX_NONE, 0);
-
-      //Text Frame
-      etk_box_append(ETK_BOX(vbox), create_text_frame(), ETK_BOX_START, 
ETK_BOX_NONE, 0);
-
-      //Position Frame
-      etk_box_append(ETK_BOX(vbox), create_position_frame(), ETK_BOX_START, 
ETK_BOX_NONE, 0);
-
-      //Program Frame
-      etk_box_append(ETK_BOX(vbox), create_program_frame(), ETK_BOX_START, 
ETK_BOX_NONE, 0);
-   }
-
+   //hbox
+   hbox = etk_hbox_new(ETK_FALSE, 0);
+   etk_box_append(ETK_BOX(vbox0), hbox, ETK_BOX_START,
+                  ETK_BOX_EXPAND_FILL, 0);
+   
+   //Tree Frame
+   etk_box_append(ETK_BOX(hbox), create_tree_frame(),
+                  ETK_BOX_START, ETK_BOX_FILL, 0);
+      
    //canvas
    ETK_canvas = etk_canvas_new ();
    etk_widget_padding_set(ETK_canvas,4,4,4,4);
    etk_widget_size_request_set(ETK_canvas, 300, 300);
-   etk_box_append(ETK_BOX(hbox), ETK_canvas, ETK_BOX_START, 
ETK_BOX_EXPAND_FILL, 0);
+   etk_box_append(ETK_BOX(hbox), ETK_canvas,
+                  ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0);
 
    //canvas bg
    EV_canvas_bg = 
evas_object_image_add(etk_widget_toplevel_evas_get(ETK_canvas));
@@ -2257,42 +2269,49 @@
    //etk_canvas_object_move (ETK_CANVAS(ETK_canvas), EV_canvas_shadow);
    evas_object_show(EV_canvas_shadow);
 
-   if (NewStyleInterface){      
-      //vbox
-      vbox = etk_vbox_new(ETK_FALSE, 0);
-      etk_box_append(ETK_BOX(hbox), vbox, ETK_BOX_START, ETK_BOX_NONE, 0);
-      
-      //Group Frame
-      etk_box_append(ETK_BOX(vbox), create_group_frame(), ETK_BOX_START, 
ETK_BOX_NONE, 0);
-
-      //Part Frame
-      etk_box_append(ETK_BOX(vbox), create_part_frame(), ETK_BOX_START, 
ETK_BOX_NONE, 0);
-
-      //Description Frame
-      etk_box_append(ETK_BOX(vbox), create_description_frame(), ETK_BOX_START, 
ETK_BOX_NONE, 0);
-
-      //Rectangle Frame
-      etk_box_append(ETK_BOX(vbox), create_rectangle_frame(), ETK_BOX_START, 
ETK_BOX_NONE, 0);
-
-      //Image Frame
-      etk_box_append(ETK_BOX(vbox), create_image_frame(), ETK_BOX_START, 
ETK_BOX_NONE, 0);
-
-      //Text Frame
-      etk_box_append(ETK_BOX(vbox), create_text_frame(), ETK_BOX_START, 
ETK_BOX_NONE, 0);
-
-      //Position Frame
-      etk_box_append(ETK_BOX(vbox), create_position_frame(), ETK_BOX_START, 
ETK_BOX_NONE, 0);
+   //vbox
+   vbox = etk_vbox_new(ETK_FALSE, 0);
+   etk_box_append(ETK_BOX(hbox), vbox, ETK_BOX_START, ETK_BOX_NONE, 0);
+   
+   //Group Frame
+   etk_box_append(ETK_BOX(vbox), create_group_frame(),
+                  ETK_BOX_START, ETK_BOX_NONE, 0);
+   //Part Frame
+   etk_box_append(ETK_BOX(vbox), create_part_frame(),
+                  ETK_BOX_START, ETK_BOX_NONE, 0);
+   //Description Frame
+   etk_box_append(ETK_BOX(vbox), create_description_frame(),
+                  ETK_BOX_START, ETK_BOX_NONE, 0);
+   //Rectangle Frame
+   etk_box_append(ETK_BOX(vbox), create_rectangle_frame(),
+                  ETK_BOX_START, ETK_BOX_NONE, 0);
+   //Image Frame
+   etk_box_append(ETK_BOX(vbox), create_image_frame(),
+                  ETK_BOX_START, ETK_BOX_NONE, 0);
+   //Text Frame
+   etk_box_append(ETK_BOX(vbox), create_text_frame(),
+                  ETK_BOX_START, ETK_BOX_NONE, 0);
+   //Position Frame
+   etk_box_append(ETK_BOX(vbox), create_position_frame(),
+                  ETK_BOX_START, ETK_BOX_NONE, 0);
+   //Program Frame
+   etk_box_append(ETK_BOX(vbox), create_program_frame(),
+                  ETK_BOX_START, ETK_BOX_NONE, 0);
+   //Script Frame
+   etk_box_append(ETK_BOX(vbox), create_script_frame(),
+                  ETK_BOX_START, ETK_BOX_EXPAND_FILL, 0);
 
-      //Program Frame
-      etk_box_append(ETK_BOX(vbox), create_program_frame(), ETK_BOX_START, 
ETK_BOX_NONE, 0);
-   }
 
    // SIGNALS
    //
-   etk_signal_connect("color-changed", ETK_OBJECT(UI_ColorPicker), 
ETK_CALLBACK(on_ColorDialog_change), NULL);
-   etk_signal_connect("delete-event", ETK_OBJECT(UI_ColorWin), 
ETK_CALLBACK(etk_window_hide_on_delete), NULL);
-   etk_signal_connect("destroyed", ETK_OBJECT(UI_MainWin), 
ETK_CALLBACK(etk_main_quit_cb), NULL);
-   etk_object_notification_callback_add(ETK_OBJECT(ETK_canvas), "geometry", 
on_canvas_geometry_changed, NULL);
+   etk_signal_connect("color-changed", ETK_OBJECT(UI_ColorPicker),
+                        ETK_CALLBACK(on_ColorDialog_change), NULL);
+   etk_signal_connect("delete-event", ETK_OBJECT(UI_ColorWin),
+                        ETK_CALLBACK(etk_window_hide_on_delete), NULL);
+   etk_signal_connect("destroyed", ETK_OBJECT(UI_MainWin),
+                        ETK_CALLBACK(etk_main_quit_cb), NULL);
+   etk_object_notification_callback_add(ETK_OBJECT(ETK_canvas), "geometry",
+                                          on_canvas_geometry_changed, NULL);
 
    etk_widget_show_all(ETK_WIDGET(UI_MainWin));
 
@@ -2304,4 +2323,5 @@
    etk_widget_hide(UI_TextFrame);
    etk_widget_hide(UI_GroupFrame);
    etk_widget_hide(UI_ProgramFrame);
+   etk_widget_hide(UI_ScriptFrame);
 }
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/interface.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -3 -r1.14 -r1.15
--- interface.h 13 Jul 2007 16:54:57 -0000      1.14
+++ interface.h 15 Jul 2007 05:01:04 -0000      1.15
@@ -80,6 +80,9 @@
 Etk_Widget *UI_StateMaxHSpinner;
 Etk_Widget *UI_ProgramEntry;
 Etk_Widget *UI_SignalEntry;
+Etk_Widget *UI_ScriptFrame;
+Etk_Widget *UI_ScriptBox;
+Etk_Widget *UI_ScriptSaveButton;
 Etk_Widget *UI_ActionComboBox;
 Etk_Widget *UI_TransiComboBox;
 Etk_Widget *UI_TransiLabel;
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/main.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- main.c      13 Jul 2007 16:54:57 -0000      1.10
+++ main.c      15 Jul 2007 05:01:04 -0000      1.11
@@ -213,6 +213,10 @@
       printf(" ** Cur state: %s %.2f\n",Cur.eps->name, Cur.eps->value);
    else
       printf(" ** Cur state: (NULL)\n");
+   if (Cur.epr)
+      printf(" ** Cur program: %s\n",Cur.epr->name);
+   else
+      printf(" ** Cur program: (NULL)\n");
 
    if (full)
    {
===================================================================
RCS file: /cvs/e/e17/proto/edje_editor/src/bin/main.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- main.h      13 Jul 2007 16:54:57 -0000      1.10
+++ main.h      15 Jul 2007 05:01:04 -0000      1.11
@@ -87,7 +87,8 @@
    IMAGE_TWEEN_DOWN,
    IMAGE_TWEEN_DELETE,
    IMAGE_TWEEN_RADIO,
-   IMAGE_NORMAL_RADIO
+   IMAGE_NORMAL_RADIO,
+   SAVE_SCRIPT
 };
 
 struct Current_State



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to