[fxruby-users] Is it possible to create a pane dynamically
Lyle Johnson
lyle at lylejohnson.name
Mon Aug 31 18:12:15 EDT 2009
On Fri, Aug 28, 2009 at 6:55 AM, Soumyanath<soumyanath.c at gmail.com> wrote:
> I am new to FXRuby so excuse me for this stupid question.
It is not a stupid question.
> I need to enter many different data and trying to create a vertical pane
> dynamically using response from a SQL query.
>
> I want these input form to appear in my main window. Created a class
> based on FXMainWindow.
>
> --------------- Code snippet ------------
> class DbFace < FXMainWindow
> attr_writer \
> :title,
>
> def addNew
> vPane = FXVerticalFrame.new(@hWnd)
> dTitle = FXLabel.new(vPane, at title,nil,LAYOUT_FILL_ROW)
> end
>
> def initialize(app, pane)
> @hWnd = pane
> @hApp = app
> end
> end
> ----------- End -----------------
>
> I use this class from inside my program. As:
>
> book = DbFace.new(app, @frame)
> book.title = "Add new record"
> book.addNew
>
>
> The new dialog fields do not show up with this. Please tell me if I am
> doing something wrong. Any example will be great.
I think you're just leaving out a call to create() for the
newly-constructed widgets. What happens if you add a call to
vPane.create() at the end of your addNew() method?
def addNew
vPane = FXVerticalFrame.new(@hWnd)
dTitle = FXLabel.new(vPane, at title,nil,LAYOUT_FILL_ROW)
vPane.create
end
Let me know if that does the trick. For more background on this, see:
http://www.fox-toolkit.org/faq.html#CREATELATER
Or, even better, buy the FXRuby book and read Chapter 7. ;)
Hope this helps,
Lyle
More information about the fxruby-users
mailing list