Forum: FXRuby FXTable: how to prevent a particular column from being resized?

Posted by Philippe Lang (Guest)
on 2007-10-08 13:52
(Received via mailing list)
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
Posted by Jeroen van der Zijp (Guest)
on 2007-10-08 15:27
(Received via mailing list)
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. |
+----------------------------------------------------------------------------+
Posted by Philippe Lang (Guest)
on 2007-10-09 08:16
(Received via mailing list)
Jeroen van der Zijp wrote:

> 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
Posted by Philippe Lang (Guest)
on 2007-10-09 09:13
(Received via mailing list)
Jeroen van der Zijp wrote:

> 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
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.