Philippe Lang
2007-Oct-08 11:51 UTC
[fxruby-users] FXTable: how to prevent a particular column from being resized?
Hi again, I''m using FXTables with a few hidden columns, which have 0 width. Is there a way to prevent the user from resizing these columns, which only have an internal meaning? Philippe
Jeroen van der Zijp
2007-Oct-08 12:54 UTC
[fxruby-users] FXTable: how to prevent a particular column from being resized?
On Monday 08 October 2007 06:51, Philippe Lang wrote:> Hi again, > > I''m using FXTables with a few hidden columns, which have 0 width. > > Is there a way to prevent the user from resizing these columns, which > only have an internal meaning?You can disable resizing of rows and/or columns. However, its an all-or-nothing thing; you can''t turn resizing off for a single row/column only. I can suggest a sneaky trick, maybe:- as the cursor moves, enable or disable the resizability based on the column its hovering over. I admit its not super elegant but it might work... - Jeroen -- +----------------------------------------------------------------------------+ | Copyright (C) 07:40 10/ 8/2007 Jeroen van der Zijp. All Rights Reserved. | +----------------------------------------------------------------------------+
Philippe Lang
2007-Oct-09 06:15 UTC
[fxruby-users] FXTable: how to prevent a particular column from being resized?
Jeroen van der Zijp wrote:> On Monday 08 October 2007 06:51, Philippe Lang wrote: >> Hi again, >> >> I''m using FXTables with a few hidden columns, which have 0 width. >> >> Is there a way to prevent the user from resizing these columns, which >> only have an internal meaning? > > You can disable resizing of rows and/or columns. However, its an > all-or-nothing thing; you can''t turn resizing off for a single > row/column only. > > I can suggest a sneaky trick, maybe:- as the cursor moves, enable or > disable the resizability based on the column its hovering over. I > admit its not super elegant but it might work...I found a very useful workaround: put the zero-width columns at the extreme left of the FXTable. They cannot be resized there! Philippe
Philippe Lang
2007-Oct-09 07:13 UTC
[fxruby-users] FXTable: how to prevent a particular column from being resized?
Jeroen van der Zijp wrote:> On Monday 08 October 2007 06:51, Philippe Lang wrote: >> Hi again, >> >> I''m using FXTables with a few hidden columns, which have 0 width. >> >> Is there a way to prevent the user from resizing these columns, which >> only have an internal meaning? > > You can disable resizing of rows and/or columns. However, its an > all-or-nothing thing; you can''t turn resizing off for a single > row/column only. > > I can suggest a sneaky trick, maybe:- as the cursor moves, enable or > disable the resizability based on the column its hovering over. I > admit its not super elegant but it might work...Hi again, I think I found a bug while playing with zero-width columns: as soon as the extreme right column is shrinked to zero width, it cannot be stretched anymore: when getting to the place where the stretch should start, the mouse icon is correct, but after the clic, nothing happens. My configuration: ----------------- Windows XP ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32] fxruby 1.6.11 Test code: ---------- #!/usr/bin/ruby require ''fox16'' include Fox class MyWindow < FXMainWindow def initialize(app) super(app, "Window", nil, nil, DECOR_ALL, 0, 0, 600, 350) # Menu bar stretched along the top of the main window menubar = FXMenuBar.new(self, LAYOUT_SIDE_TOP|LAYOUT_FILL_X) # File menu filemenu = FXMenuPane.new(self) FXMenuTitle.new(menubar, "&File", nil, filemenu) FXMenuCommand.new(filemenu, "&Quit\tCtl-Q\tQuit the application", nil, app, FXApp::ID_QUIT) # Table f = FXHorizontalFrame.new(self, LAYOUT_FILL_X|LAYOUT_FILL_Y) t = FXTable.new(f, nil, 0, TABLE_COL_SIZABLE|LAYOUT_FILL_X|LAYOUT_FILL_Y) t.visibleRows = 3 t.visibleColumns = 3 t.setTableSize(3, 3) end def create super show(PLACEMENT_SCREEN) end end if __FILE__ == $0 application = FXApp.new("Attik System", "FXRuby Test") MyWindow.new(application) application.create application.run end
Jeroen van der Zijp
2007-Oct-09 12:34 UTC
[fxruby-users] FXTable: how to prevent a particular column from being resized?
On Tuesday 09 October 2007 02:13, Philippe Lang wrote:> Jeroen van der Zijp wrote: > > > On Monday 08 October 2007 06:51, Philippe Lang wrote: > >> Hi again, > >> > >> I''m using FXTables with a few hidden columns, which have 0 width. > >> > >> Is there a way to prevent the user from resizing these columns, which > >> only have an internal meaning? > > > > You can disable resizing of rows and/or columns. However, its an > > all-or-nothing thing; you can''t turn resizing off for a single > > row/column only. > > > > I can suggest a sneaky trick, maybe:- as the cursor moves, enable or > > disable the resizability based on the column its hovering over. I > > admit its not super elegant but it might work... > > Hi again, > > I think I found a bug while playing with zero-width columns: as soon as > the extreme right column is shrinked to zero width, it cannot be > stretched anymore: when getting to the place where the stretch should > start, the mouse icon is correct, but after the clic, nothing happens.OK, yes that indeed sounds like a bug; probably, its because there is no header-item there there''s nothing to click on. I''ll try and fix that, for the next FOX patch level. Regards, Jeroen -- +----------------------------------------------------------------------------+ | Copyright (C) 07:30 10/ 9/2007 Jeroen van der Zijp. All Rights Reserved. | +----------------------------------------------------------------------------+