manqod 1.1556.0 → 1.1559.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -66,6 +66,7 @@ class QBuilder < Gtk::HPaned
66
66
  pack_start(@autotest=Gtk::ToggleButton.new("auto")).
67
67
  pack_start(@test_now=Gtk::Button.new("test")).
68
68
  pack_start(@view_sql=Gtk::Button.new("show")).
69
+ pack_start(@explain_sql=Gtk::Button.new("explain")).
69
70
  pack_start(@save_as_view=Gtk::Button.new("store")),false,true).
70
71
  pack_start(Gtk::ScrolledWindow.new.set_policy(Gtk::PolicyType::AUTOMATIC,Gtk::PolicyType::AUTOMATIC).add_with_viewport(@result=Gtk::Button.new),false)
71
72
  @where.buffer.set_language(Gtk::SourceLanguageManager.new.get_language("sql")) if whsv
@@ -91,13 +92,40 @@ class QBuilder < Gtk::HPaned
91
92
  @view_sql.signal_connect("pressed"){|me|
92
93
  save_query
93
94
  w=Gtk::Dialog.new(@name.text,parentM.get_ancestor(Gtk::Window),Gtk::Dialog::DESTROY_WITH_PARENT ,[ Gtk::Stock::CLOSE, Gtk::Dialog::RESPONSE_NONE ])
94
- w.vbox.add(Gtk::ScrolledWindow.new.add(sview=Gtk::SourceView.new.set_editable(false))).set_size_request(600,400)
95
+ w.vbox.add(Gtk::ScrolledWindow.new.add(sview=Gtk::SourceView.new.set_editable(false))).set_size_request(800,400)
95
96
  sview.buffer.set_text(sql).set_language(Gtk::SourceLanguageManager.new.get_language("sql"))
96
97
  sview.set_highlight_current_line(true).
97
98
  set_show_line_numbers(true)
98
99
  w.show_all
99
100
  w.run{|response| w.destroy}
100
101
  }
102
+ @explain_sql.signal_connect("pressed"){|me|
103
+ save_query
104
+ w=Gtk::Dialog.new(@name.text,parentM.get_ancestor(Gtk::Window),Gtk::Dialog::DESTROY_WITH_PARENT ,[ Gtk::Stock::CLOSE, Gtk::Dialog::RESPONSE_NONE ])
105
+ w.vbox.add(Gtk::ScrolledWindow.new.add(eview=Gtk::TreeView.new(emodel=Gtk::ListStore.new(String,String,String,String,String,String,String,String,String)))).set_size_request(1000,400)
106
+ eheader={0=>{:data=>'id',:header=>'Id'},
107
+ 1=>{:data=>'select_type',:header=>'Select Type'},
108
+ 2=>{:data=>'table',:header=>'Table'},
109
+ 3=>{:data=>'type',:header=>'Type'},
110
+ 4=>{:data=>'possible_keys',:header=>'Possible Keys'},
111
+ 5=>{:data=>'key',:header=>'Key'},
112
+ 6=>{:data=>'ref',:header=>'Ref'},
113
+ 7=>{:data=>'rows',:header=>'Rows'},
114
+ 8=>{:data=>'Extra',:header=>'Extra'}
115
+ }
116
+ eheader.each_pair{|hid,h|
117
+ eview.append_column(Gtk::TreeViewColumn.new(h[:header],Gtk::CellRendererText.new, {:text => hid}))
118
+ }
119
+ begin
120
+ client_rows("explain #{sql}"){|row|
121
+ iter=emodel.append
122
+ eheader.each_pair{|hid,h| iter[hid]=row[h[:data]] }
123
+ }
124
+ rescue
125
+ end
126
+ w.show_all
127
+ w.run{|response| w.destroy}
128
+ }
101
129
  @result.signal_connect("pressed"){|me,ev|
102
130
  begin
103
131
  w=Gtk::Dialog.new(@name.text,parentM.get_ancestor(Gtk::Window),Gtk::Dialog::DESTROY_WITH_PARENT ,[ Gtk::Stock::CLOSE, Gtk::Dialog::RESPONSE_NONE ])
@@ -12,6 +12,8 @@ class MyCellRendererCombo < Gtk::CellRendererCombo
12
12
  set_text_column(1)
13
13
  set_has_entry(false)
14
14
 
15
+ set_ellipsize(Pango::ELLIPSIZE_END)
16
+ set_ellipsize_set(true)
15
17
  set_mode(Gtk::CellRenderer::MODE_EDITABLE)
16
18
 
17
19
  signal_connect("edited"){|me,path,new_text|
@@ -6,9 +6,9 @@ class MyCellRendererText < Gtk::CellRendererText
6
6
  def initialize(column)
7
7
  @jump_to_next=false
8
8
  super()
9
- # set_ellipsize(Pango::ELLIPSIZE_NONE) #?
10
- # set_ellipsize_set(true) #?
11
- # set_wrap_mode(Pango::WRAP_WORD) #?
9
+ set_ellipsize(Pango::ELLIPSIZE_END)
10
+ set_ellipsize_set(true)
11
+ # set_wrap_mode(Pango::WRAP_WORD)
12
12
  signal_connect("edited") { |me,path,new_value|
13
13
  view.list_model.change_value_of_path(path,column.header['data'],new_value)
14
14
  if @jump_to_next
@@ -146,13 +146,13 @@ class RTable < Gtk::EventBox
146
146
  }
147
147
 
148
148
  save_me
149
- set_table(new_table)
150
- parentM.reload_server_rb
149
+ set_table(@table)
150
+ parentM.reload_server_rb(true,@table)
151
151
  end
152
152
 
153
153
  def save_me
154
154
  query("update tables set rbx='#{x}', rby='#{y}', name='#{@table}' where id='#{table_id}'")
155
- @parentM.reload_server_rb
155
+ @parentM.reload_server_rb(false,@table)
156
156
  end
157
157
 
158
158
  def show_me
@@ -205,7 +205,7 @@ class RTable < Gtk::EventBox
205
205
  @fields[field].destroy
206
206
  @fields.delete(field)
207
207
  parentM.clear
208
- parentM.reload_server_rb
208
+ parentM.reload_server_rb(true,@table)
209
209
  end
210
210
  dialog.destroy
211
211
  end
@@ -275,7 +275,7 @@ class RTable < Gtk::EventBox
275
275
  rescue =>err
276
276
  retry if tell_exception("error altering the table",backtrace_to_debug(err),"server","error",false,true,err)
277
277
  end
278
- parentM.reload_server_rb
278
+ parentM.reload_server_rb(true,@table)
279
279
  end
280
280
  dialog.destroy
281
281
  end
@@ -80,7 +80,7 @@ class Relation
80
80
  else
81
81
  query("update relations set src_table = '#{@rfield1.table.table}', dst_table = '#{@rfield2.table.table}', src_field='#{@rfield1.field["Field"]}', dst_field='#{@rfield2.field["Field"]}', rel_type='#{@rel_type}', rbx='#{@handle.x}', rby='#{@handle.y}', rel_name='#{@rel_name}', rel_custom='#{@rel_custom}' where id='#{@relation_id}'")
82
82
  einfo("updated","relation-builder")
83
- parentM.reload_server_rb
83
+ parentM.reload_server_rb(true,nil,@relation_id)
84
84
  end
85
85
  end
86
86
 
@@ -93,7 +93,7 @@ class Relation
93
93
  parentM.relations.delete(self)
94
94
  parentM.clear
95
95
  @handle.destroy unless @handle.destroyed?
96
- @parentM.reload_server_rb
96
+ @parentM.reload_server_rb(true,nil,@relation_id)
97
97
  end
98
98
 
99
99
  def edit
@@ -85,6 +85,11 @@ class RelationBuilder < Gtk::ScrolledWindow
85
85
  end
86
86
  }
87
87
 
88
+ menu.append(reload_srv=Gtk::ImageMenuItem.new("Reload Server Model").set_image(Gtk::Image.new(Gtk::Stock::REFRESH,Gtk::IconSize::MENU)))
89
+ reload_srv.signal_connect("activate"){|me|
90
+ reload_server_rb
91
+ }
92
+
88
93
  menu.show_all
89
94
  menu.popup(nil,nil,ev.button,ev.time)
90
95
  end
@@ -426,20 +431,21 @@ class RelationBuilder < Gtk::ScrolledWindow
426
431
  client.query("drop table `#{table}`") if from_sql
427
432
  @tables[table].widget.destroy
428
433
  @tables.delete(table)
429
- reload_server_rb(true)
434
+ reload_server_rb(true,table)
430
435
  changed(@tables[table])
431
436
  end
437
+
432
438
  def add_existing_table(table_name)
433
439
  unless @tables.has_key?(table_name)
434
440
  query("insert into tables (name,rbx,rby) values('#{table_name}','#{@widget.pointer[0]}','#{@widget.pointer[1]}')")
435
- reload_server_rb(true)
441
+ reload_server_rb(true,table_name)
436
442
  end
437
443
  end
438
444
 
439
- def reload_server_rb(reload_me_too=true)
445
+ def reload_server_rb(reload_me_too=true,table=nil,relation=nil)
440
446
  Thread.new{
441
- ManqodDB.instance.manqod_db.relation_builder.update if ManqodDB.instance.manqod_db.relation_builder
442
- reload if reload_me_too
447
+ ManqodDB.instance.manqod_db.relation_builder.update(table,relation) if ManqodDB.instance.manqod_db.relation_builder
448
+ reload if reload_me_too
443
449
  }
444
450
  end
445
451
 
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 1
7
- - 1556
7
+ - 1559
8
8
  - 0
9
- version: 1.1556.0
9
+ version: 1.1559.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Dobai-Pataky Balint
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-05-25 00:00:00 +03:00
17
+ date: 2011-06-23 00:00:00 +03:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency