// that is done by GTK..
+ if (!this.get('/Editor').save()) {
+ // popup!! - click handled..
+ return true;
+ }
if (!this.el.expanded) {
this.onExpand();
id : "expander",
label : "Select Project or File",
pack : "pack_start,false,true",
+ init : function() {
+ XObject.prototype.init.call(this);
+ this.el.add_events (Gdk.EventMask.BUTTON_MOTION_MASK );
+ },
onCollapse : function() {
var nb = this.get('/LeftTopPanel.notebook');
nb.el.set_current_page(0);
},
- init : function() {
- XObject.prototype.init.call(this);
- this.el.add_events (Gdk.EventMask.BUTTON_MOTION_MASK );
- },
onExpand : function() {
var nb = this.get('/LeftTopPanel.notebook');
var pm = imports.Builder.Provider.ProjectManager.ProjectManager;
listeners : {
button_press_event : function (self, ev) {
console.log("button press?");
+
+ if (!this.get('/Editor').save()) {
+ // popup!! - click handled..
+ return true;
+ }
+
if (ev.type != Gdk.EventType.BUTTON_PRESS || ev.button.button != 3) {
print("click" + ev.type);
return false;
var res = {};
this.get('/LeftTree.view').el.get_path_at_pos(ev.button.x,ev.button.y, res);
- if (!this.get('/LeftTreeMenu').el) this.get('/LeftTreeMenu').init();
+ if (!this.get('/LeftTreeMenu').el) { this.get('/LeftTreeMenu').init(); }
this.get('/LeftTreeMenu').el.set_screen(Gdk.Screen.get_default());
this.get('/LeftTreeMenu').el.show_all();
},
{
xtype: Gtk.Button,
- pack : "add",
listeners : {
button_press_event : function (self, event) {
- this.get('/MidPropTree.model').showData('events');
+
+ if (!this.get('/Editor').save()) {
+ // popup!! - click handled..
+ return true;
+ }
+ this.get('/MidPropTree.model').showData('events');
return false;
}
},
+ pack : "add",
items : [
{
xtype: Gtk.HBox,
},
{
xtype: Gtk.Button,
- pack : "add",
listeners : {
button_press_event : function (self, ev) {
+
+ if (!this.get('/Editor').save()) {
+ // popup!! - click handled..
+ return true;
+ }
+
var p = this.get('/AddPropertyPopup');
if (!p.el) {
p.init();
return true;
}
},
+ pack : "add",
items : [
{
xtype: Gtk.HBox,
button_press_event : function (self, ev) {
+ if (!this.get('/Editor').save()) {
+ // popup!! - click handled..
+ return true;
+ }
var res = { };
if (!this.el.get_path_at_pos(ev.button.x,ev.button.y, res)) {
// this.activePath = false;
// stop editing!!!!
+ if (this.get('/Editor').dirty) {
+ //if (!this.get('/Editor.buffer').checkSyntax()) {
+ // this.get('/StandardErrorDialog').show("Fix errors in code and save..");
+ // return true;
+ // // error Dialog
+ //}
+ if (!this.get('/Editor.view').save()) {
+ return true;
+ }
+ }
this.get('/LeftPanel').editableColumn.items[0].el.stop_editing();
this.get('/LeftPanel').editing = false;
]);
},
load : function(ar) {
+ // might casue problesm..
+ // this.get('/Editor.RightEditor').save();
+
+ this.get('/Editor').el.hide();
+ this.get('/Editor').activePath = false;
+
+
this.el.clear();
-
+
//this.get('/RightEditor').el.hide();
if (ar === false) {
return ;
return ret;
},
startEditing : function(path,col) {
- // alled by menu 'edit' currently..
+
+ // alled by menu 'edit' currently..
/**
* start editing path (or selected if not set..)
* @param {String|false} path (optional) treepath to edit - selected tree gets
// make sure the pulldown is set correctly..
// not really needed for second col...
var showEditor = false;
-
+ this.get('/Editor').activePath = false;
+ this.get('/Editor').el.hide();
+
if (col) {
var provider = this.get('/LeftTree').getPaleteProvider();
var type = this.get('/LeftPanel.model').getType(path);
}
var _this = this;
// end editing..
- this.get('/BottomPane').el.hide();
+ // this.get('/BottomPane').el.hide();
//this.get('/RightEditor').el.hide();
- this.get('/Editor').el.hide();
+
if (showEditor) {
this.activePath = false;
+
+ _this.get('/Editor').el.show_all();
GLib.timeout_add(0, 1, function() {
//_this.get('/BottomPane').el.show();
//_this.get('/RightEditor').el.show();
- _this.get('/Editor').el.show_all();
+
_this.get('/Editor.RightEditor.view').load( _this.getValue(path, 1) );
- //e.editing_done();
- //e.remove_widget();
+ _this.get('/Editor').activePath = path;
_this.activePath = path ;
return false;
}
},
+ editable : false,
pack : "pack_start",
text_column : 0,
- editable : true,
has_entry : true,
init : function() {
XObject.prototype.init.call(this);
console_message : function (self, object, p0, p1) {
print(object);
// console.log(object);
+
+
+ if (object.match(/variable/) && object.match(/Builder/)) {
+ print("got builder missing message");
+ this.refreshRequired = true;
+ this.lastRedraw = 0;
+ this.runRefresh();
+ return true;
+ }
+
+
if (!object.match(/^\{/)) {
//this.get('/Terminal').feed(object);
return true; // do not handle!!! -> later maybe in console..
}
+
+
+
+
// console.log(object);
var val = JSON.parse(object);
return null; //new WebKit.WebView();
}
},
- redraws : 0,
id : "view",
pack : "add",
+ redraws : 0,
init : function() {
XObject.prototype.init.call(this);
// this may not work!?
items : [
{
xtype: Gtk.TreeView,
- pack : "add",
- init : function() {
- XObject.prototype.init.call(this);
- this.el.set_size_request(150,-1);
- // set_reorderable: [1]
-
- var description = new Pango.FontDescription.c_new();
- description.set_size(8000);
- this.el.modify_font(description);
-
- this.selection = this.el.get_selection();
- this.selection.set_mode( Gtk.SelectionMode.SINGLE);
- // this.selection.signal['changed'].connect(function() {
- // _view.listeners['cursor-changed'].apply(_view, [ _view, '']);
- //});
- // see: http://live.gnome.org/GnomeLove/DragNDropTutorial
-
- Gtk.drag_source_set (
- this.el, /* widget will be drag-able */
- Gdk.ModifierType.BUTTON1_MASK, /* modifier that will start a drag */
- null, /* lists of target to support */
- 0, /* size of list */
- Gdk.DragAction.COPY /* what to do with data after dropped */
- );
- //Gtk.drag_source_set_target_list(this.el, LeftTree.targetList);
-
- Gtk.drag_source_set_target_list(this.el, this.get('/Window').targetList);
- Gtk.drag_source_add_text_targets(this.el);
- /*
- print("RP: TARGET:" + LeftTree.atoms["STRING"]);
- targets = new Gtk.TargetList();
- targets.add( LeftTree.atoms["STRING"], 0, 0);
- targets.add_text_targets( 1 );
- Gtk.drag_dest_set_target_list(this.el, LeftTree.targetList);
-
- //if you want to allow text to be output elsewhere..
- //Gtk.drag_source_add_text_targets(this.el);
- */
- return true;
- },
- headers_visible : false,
- enable_tree_lines : true,
listeners : {
drag_begin : function (self, ctx) {
// we could fill this in now...
this.el.dropList = false;
this.get('/LeftTree.view').highlight(false);
return true;
+ },
+ button_press_event : function (self, event) {
+
+ if (!this.get('/Editor').save()) {
+ // popup!! - click handled..
+ return true;
+ }
+ return false;
}
},
+ pack : "add",
+ enable_tree_lines : true,
+ headers_visible : false,
+ init : function() {
+ XObject.prototype.init.call(this);
+ this.el.set_size_request(150,-1);
+ // set_reorderable: [1]
+
+ var description = new Pango.FontDescription.c_new();
+ description.set_size(8000);
+ this.el.modify_font(description);
+
+ this.selection = this.el.get_selection();
+ this.selection.set_mode( Gtk.SelectionMode.SINGLE);
+ // this.selection.signal['changed'].connect(function() {
+ // _view.listeners['cursor-changed'].apply(_view, [ _view, '']);
+ //});
+ // see: http://live.gnome.org/GnomeLove/DragNDropTutorial
+
+ Gtk.drag_source_set (
+ this.el, /* widget will be drag-able */
+ Gdk.ModifierType.BUTTON1_MASK, /* modifier that will start a drag */
+ null, /* lists of target to support */
+ 0, /* size of list */
+ Gdk.DragAction.COPY /* what to do with data after dropped */
+ );
+ //Gtk.drag_source_set_target_list(this.el, LeftTree.targetList);
+
+ Gtk.drag_source_set_target_list(this.el, this.get('/Window').targetList);
+ Gtk.drag_source_add_text_targets(this.el);
+ /*
+ print("RP: TARGET:" + LeftTree.atoms["STRING"]);
+ targets = new Gtk.TargetList();
+ targets.add( LeftTree.atoms["STRING"], 0, 0);
+ targets.add_text_targets( 1 );
+ Gtk.drag_dest_set_target_list(this.el, LeftTree.targetList);
+
+ //if you want to allow text to be output elsewhere..
+ //Gtk.drag_source_add_text_targets(this.el);
+ */
+ return true;
+ },
items : [
{
xtype: Gtk.ListStore,