[wxruby-users] RES: RES: Problem centering a label
(gmail) Alejandro Michelin Salomon
amichelins at gmail.com
Fri Mar 20 12:56:08 EDT 2009
Chauk-Mean. :
Your code runs ok in a separate file.
If i call MyPanel from my menu to put the panel in my main frame, the code
does not work.
This code :
begin
require 'rubygems'
rescue LoadError
end
require 'wx';
class TarefasNova < Wx::Panel
def initialize(parent)
super(parent)
box = Wx::BoxSizer.new (Wx::VERTICAL)
box.add_item(Wx::StaticText.new(self, :label => "Centered Title"),
:flag => Wx::ALIGN_CENTER)
box.add_item(Wx::StaticText.new(self, :label => "Leftside Text"),
:flag => Wx::ALIGN_LEFT)
box.add_item(Wx::StaticText.new(self, :label => "Rightside Text"),
:flag => Wx::ALIGN_RIGHT)
self.sizer = box
end
end
The panel only shows Righ.
Does not size to fill frame.
When i put :
rect = parent.get_client_rect();
super( parent, 1011, Wx::Point.new( 0, 0 ), rect.get_size(),
SIMPLE_BORDER, "NovaTarefa" );
This makes the panel fill frame.
The frame has menu bar and statusbar.
De: wxruby-users-bounces at rubyforge.org
[mailto:wxruby-users-bounces at rubyforge.org] Em nome de Chauk-Mean Proum
Enviada em: sexta-feira, 20 de março de 2009 10:39
Para: General discussion of wxRuby
Assunto: Re: [wxruby-users] RES: Problem centering a label
Hi Alejandro,
I'm not sure to understand why you need 2 sizers but your main problem
is that you haven't told the panel to use the sizer !
Here is a sample code where there are 3 texts :
- at the top, the text is centered
- at the middle, the text is left aligned
- at the bottom, the text is right aligned
The important line is the one with self.sizer = box.
You should also use wx constants to make your code clearer.
#!/usr/bin/env ruby
# wxRuby2 Sample Code. Copyright (c) 2004-2008 wxRuby development team
# Freely reusable code: see SAMPLES-LICENSE.TXT for details
begin
require 'rubygems'
rescue LoadError
end
require 'wx'
class MyPanel < Wx::Panel
def initialize(parent)
super(parent)
box = Wx::BoxSizer.new (Wx::VERTICAL)
box.add_item(Wx::StaticText.new(self, :label => "Centered Title"),
:flag => Wx::ALIGN_CENTER)
box.add_item(Wx::StaticText.new(self, :label => "Leftside Text"),
:flag => Wx::ALIGN_LEFT)
box.add_item(Wx::StaticText.new(self, :label => "Rightside Text"),
:flag => Wx::ALIGN_RIGHT)
self.sizer = box
end
end
# This is the minimum code to start a WxRuby app - create a Frame, and
# show it.
Wx::App.run do
frame = Wx::Frame.new(nil, :title => "Minimal wxRuby App")
panel = MyPanel.new(frame)
frame.show
end
Cheers.
Chauk-Mean.
_______________________________________________
wxruby-users mailing list
wxruby-users at rubyforge.org
http://rubyforge.org/mailman/listinfo/wxruby-users
_____
avast! Antivirus <http://www.avast.com> : Inbound message clean.
Virus Database (VPS): 090319-0, 19/03/2009
Tested on: 20/03/2009 13:13:39
avast! - copyright (c) 1988-2009 ALWIL Software.
_____
avast! Antivirus <http://www.avast.com> : Outbound message clean.
Virus Database (VPS): 090319-0, 19/03/2009
Tested on: 20/03/2009 13:56:02
avast! - copyright (c) 1988-2009 ALWIL Software.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/wxruby-users/attachments/20090320/ec1170b3/attachment.html>
More information about the wxruby-users
mailing list