From wxruby at qualitycode.com Thu Sep 1 19:15:09 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Thu Sep 1 19:08:41 2005 Subject: [Wxruby-users] Re: added Choicebook In-Reply-To: References: Message-ID: <43178B7D.9070400@qualitycode.com> Sean Long wrote: >>Here are the new files in a zip and the patches to existing. >> >>Also added Listbook values to parents.rb that I forgot when adding that. Applied, thanks. Just a couple notes: Choicebook.i had a comment: // TODO: Are these correct? Docs don't show Listbook I changed it to Choicebook instead of Listbook Any chance of getting a little sample app that demonstrates a Choicebook? Kevin From sean.m.long at gmail.com Thu Sep 1 19:43:03 2005 From: sean.m.long at gmail.com (Sean Long) Date: Thu Sep 1 19:36:14 2005 Subject: [Wxruby-users] Re: added Choicebook In-Reply-To: <43178B7D.9070400@qualitycode.com> References: <43178B7D.9070400@qualitycode.com> Message-ID: Actually both classes are listed in the wx documentation if you go to the alphabetical class reference: http://wxwidgets.org/manuals/2.6.1/wx_classref.html#classref. So those comments can be removed. The listbook example can be converted by changeing all wxListBook and listbookpage entries in the listbook.xrc to wxChoiceBook and choicebookpage and change wxLB_LEFT to wxCHB_LEFT. Also need to change evt_listbook_page_changed to evt_choicebook_page_changed in listbook.rb. I don't have the time right now to actually do it, but I did once before when I added the code and it worked fine. Sean On 9/1/05, Kevin Smith wrote: > Sean Long wrote: > >>Here are the new files in a zip and the patches to existing. > >> > >>Also added Listbook values to parents.rb that I forgot when adding that. > > Applied, thanks. Just a couple notes: > > Choicebook.i had a comment: > // TODO: Are these correct? Docs don't show Listbook > I changed it to Choicebook instead of Listbook > > Any chance of getting a little sample app that demonstrates a Choicebook? > > Kevin > _______________________________________________ > wxruby-users mailing list > wxruby-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/wxruby-users > From wxruby at qualitycode.com Thu Sep 1 19:55:21 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Thu Sep 1 19:48:55 2005 Subject: [Wxruby-users] Patch to controls.rb In-Reply-To: <4313DEFB.2080707@mindspring.com> References: <4313DEFB.2080707@mindspring.com> Message-ID: <431794E9.4090808@qualitycode.com> Roy Sutton wrote: > This patch fixes the controls.rb sample so the images load properly on > windows. Worked fine on Linux, so it's checked in. Thanks. Kevin From wxruby at qualitycode.com Thu Sep 1 20:13:30 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Thu Sep 1 20:07:05 2005 Subject: [Wxruby-users] Frame/TopLevelWindow problems on Mac In-Reply-To: References: <430902A1.1010702@mindspring.com> <43094DAC.2010104@qualitycode.com> <430D087B.4000202@qualitycode.com> <43130525.2060207@qualitycode.com> <43132943.8050408@qualitycode.com> Message-ID: <4317992A.40009@qualitycode.com> Ah! Good catch! We will probably find a few other cases like this, where the wx docs don't mention that classes are actually overriding methods defined in their superclasses. Most likely, wxFrame::Show is what sets the wx top window, so it makes sense that if we are directly invoking wxWindow::Show (and therefore bypassing wxFrame::Show), it wouldn't work properly. Committed. Thanks! Kevin Sean Long wrote: > I got it to work. I had to add: > bool Show(bool show = true); > > to wxFrame.h > > the code for Show(bool show) in src/wxFrame.cpp looks like this > without the Show signature added to wxFrame: > > bool SwigDirector_wxFrame::Show(bool show) { > VALUE obj0 = Qnil ; > bool c_result ; > VALUE result; > > if (swig_get_up()) { > return wxWindow::Show(show); > } > obj0 = show ? Qtrue : Qfalse; > result = rb_funcall(swig_get_self(), rb_intern("show"), 1,obj0); > c_result = (bool) RTEST(result); > return (bool) c_result; > } > > and like this with the signature added: > > bool SwigDirector_wxFrame::Show(bool show) { > VALUE obj0 = Qnil ; > bool c_result ; > VALUE result; > > if (swig_get_up()) { > return wxFrame::Show(show); > } > obj0 = show ? Qtrue : Qfalse; > result = rb_funcall(swig_get_self(), rb_intern("show"), 1,obj0); > c_result = (bool) RTEST(result); > return (bool) c_result; > } > > Comparing the wxWidgets headers for MSW and Mac I can not see where > this would make a difference, but it obviously does in the case of the > Mac. > > I am not going to submit a patch, if you think it is an appropriate > fix I will let you make the change. > > Sean From wxruby at qualitycode.com Thu Sep 1 22:00:42 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Thu Sep 1 21:54:03 2005 Subject: [Wxruby-users] Re: event handlers for wxGrid In-Reply-To: References: Message-ID: <4317B24A.6070501@qualitycode.com> Sean Long wrote: > I got a warning from the list about the attachments being too big so I > am not sure if the original went through. Sorry about that. The list had a max of 40k, which I have now bumped up to 120k. Anything above that goes to the list administrators (me and Curt, I think). I just hadn't had a chance to "approve" it yet. > So here is a zip of the files. They didn't apply cleanly, possibly because I applied some of your other patches before this one. Can you resend whatever isn't already checked in? Thanks, Kevin From wxruby at qualitycode.com Thu Sep 1 22:09:52 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Thu Sep 1 22:03:10 2005 Subject: [Wxruby-users] Re: new RubyConstants.i In-Reply-To: References: Message-ID: <4317B470.9030501@qualitycode.com> Sean Long wrote: >>>I went through RubyConstants.i and updated it so everything matches >>>wx2.6.1, I also did some rearranging so it is easy to see which files >>>the different constants came from. I changed so much that I think just >>>sending the new file is easier. I have tested it on Windows and a >>>previous incarnation on Mac OS X. Cool. Looked fine from what I could tell. It's in. Thanks, Kevin From wxruby at qualitycode.com Thu Sep 1 22:14:48 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Thu Sep 1 22:08:05 2005 Subject: [Wxruby-users] patches for GridCell*Editor and GridCell*Renderer In-Reply-To: References: Message-ID: <4317B598.4020906@qualitycode.com> Sean Long wrote: > When I originally added these I used %module .... instead of > %module(directors="1"). This little change has a big effect on the > code actually working. :-) Applied, thanks. Kevin From wxruby at qualitycode.com Thu Sep 1 22:33:00 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Thu Sep 1 22:26:19 2005 Subject: [Wxruby-users] wxArrayInt typemap patch In-Reply-To: References: Message-ID: <4317B9DC.9080601@qualitycode.com> Sean Long wrote: > This patch converts wxArrayInt to Ruby arrays. Applied. Eventually, I wonder if we could use duck-typing, and not actually require the incoming ruby type to be of class Array. Anything that acts like an array should be good enough. But that's a discussion for next year, after we get the basics working. Thanks, Kevin From roys at mindspring.com Fri Sep 2 00:17:26 2005 From: roys at mindspring.com (Roy Sutton) Date: Fri Sep 2 00:10:49 2005 Subject: [Wxruby-users] About.rbw.patch Message-ID: <4317D256.3090308@mindspring.com> This patch file allows the About menu item in the bigdemo sample to work. -------------- next part -------------- 13c13 < rVersion = Wx::StaticText.new(self, -1, "Running on Ruby version " + VERSION + " on " + Wx::RUBY_PLATFORM, Wx::Point.new(20,100)) --- > rVersion = Wx::StaticText.new(self, -1, "Running on Ruby version " + VERSION + " on " + RUBY_PLATFORM, Wx::Point.new(20,100)) From roys at mindspring.com Fri Sep 2 00:22:00 2005 From: roys at mindspring.com (Roy Sutton) Date: Fri Sep 2 00:15:21 2005 Subject: [Wxruby-users] About.rbw.patch In-Reply-To: <4317D256.3090308@mindspring.com> References: <4317D256.3090308@mindspring.com> Message-ID: <4317D368.6090202@mindspring.com> Oops, I put the wrong flags on the file. Try this one instead. Roy Sutton wrote: > This patch file allows the About menu item in the bigdemo sample to work. > >------------------------------------------------------------------------ > >13c13 >< rVersion = Wx::StaticText.new(self, -1, "Running on Ruby version " + VERSION + " on " + Wx::RUBY_PLATFORM, Wx::Point.new(20,100)) >--- > > >> rVersion = Wx::StaticText.new(self, -1, "Running on Ruby version " + VERSION + " on " + RUBY_PLATFORM, Wx::Point.new(20,100)) >> >> >>------------------------------------------------------------------------ >> >>_______________________________________________ >>wxruby-users mailing list >>wxruby-users@rubyforge.org >>http://rubyforge.org/mailman/listinfo/wxruby-users >> >> -------------- next part -------------- --- wxruby2_old/samples/bigdemo/About.rbw 2005-08-20 23:48:10.000000000 -0400 +++ wxruby2/samples/bigdemo/About.rbw 2005-09-01 23:57:48.574080000 -0400 @@ -10,7 +10,7 @@ title = Wx::StaticText.new(self, -1, "WxRuby Demo!", Wx::Point.new(20, 20)) title.set_font(headerFont) - rVersion = Wx::StaticText.new(self, -1, "Running on Ruby version " + VERSION + " on " + Wx::RUBY_PLATFORM, Wx::Point.new(20,100)) + rVersion = Wx::StaticText.new(self, -1, "Running on Ruby version " + VERSION + " on " + RUBY_PLATFORM, Wx::Point.new(20,100)) rVersion.set_font(bodyFont) rVersion.set_foreground_colour(Wx::RED) From roys at mindspring.com Fri Sep 2 00:44:33 2005 From: roys at mindspring.com (Roy Sutton) Date: Fri Sep 2 00:37:48 2005 Subject: [Wxruby-users] wxTreeCtrl.patch Message-ID: <4317D8B1.2010602@mindspring.com> Attached is a patch that fixes a crash out of the bigdemo when you click into the tree control. I added in the missing single-argument version of HitTest. Why WX has a single argument version of HitTest only for the tree control, I'll never know. -------------- next part -------------- --- wxruby2_old/swig/classes/include/wxTreeCtrl.h 2005-08-20 23:48:10.000000000 -0400 +++ wxruby2/swig/classes/include/wxTreeCtrl.h 2005-09-02 00:40:10.479160000 -0400 @@ -413,6 +413,7 @@ * \param int& */ + wxTreeItemId HitTest(const wxPoint& point) ; wxTreeItemId HitTest(const wxPoint& point , int& flags ) ; /** * \brief From sean.m.long at gmail.com Fri Sep 2 01:10:14 2005 From: sean.m.long at gmail.com (Sean Long) Date: Fri Sep 2 01:03:25 2005 Subject: [Wxruby-users] Re: event handlers for wxGrid In-Reply-To: <4317B24A.6070501@qualitycode.com> References: <4317B24A.6070501@qualitycode.com> Message-ID: > They didn't apply cleanly, possibly because I applied some of your other > patches before this one. Can you resend whatever isn't already checked in? Here are the patches again. Sean -------------- next part -------------- A non-text attachment was scrubbed... Name: events_i.patch Type: application/octet-stream Size: 9726 bytes Desc: not available Url : http://rubyforge.org/pipermail/wxruby-users/attachments/20050901/af35209e/events_i-0001.obj -------------- next part -------------- A non-text attachment was scrubbed... Name: events_rb.patch Type: application/octet-stream Size: 6031 bytes Desc: not available Url : http://rubyforge.org/pipermail/wxruby-users/attachments/20050901/af35209e/events_rb-0001.obj -------------- next part -------------- A non-text attachment was scrubbed... Name: evthandler_i.patch Type: application/octet-stream Size: 10586 bytes Desc: not available Url : http://rubyforge.org/pipermail/wxruby-users/attachments/20050901/af35209e/evthandler_i-0001.obj From roys at mindspring.com Fri Sep 2 01:13:06 2005 From: roys at mindspring.com (Roy Sutton) Date: Fri Sep 2 01:06:24 2005 Subject: [Wxruby-users] Patch to wxDialog.rbw Message-ID: <4317DF62.80609@mindspring.com> This patch file adds a missing parameter to the sample source so the dialog sample will work. Also attached is a patch to add an additional optional parameter to wxStaticLine.h. I was going through header files to confirm the other problem and discovered there's another optional parameter. Roy -------------- next part -------------- --- wxruby2_old/samples/bigdemo/wxDialog.rbw 2005-08-20 23:48:10.000000000 -0400 +++ wxruby2/samples/bigdemo/wxDialog.rbw 2005-09-02 01:05:17.776547200 -0400 @@ -34,7 +34,7 @@ sizer.add(box, 0, Wx::GROW | Wx::ALIGN_CENTER_VERTICAL | Wx::ALL, 5) - line = Wx::StaticLine.new(self, -1, Wx::Size.new(20,-1), Wx::LI_HORIZONTAL) + line = Wx::StaticLine.new(self, -1, Wx::DEFAULT_POSITION, Wx::Size.new(20,-1), Wx::LI_HORIZONTAL) sizer.add(line, 0, Wx::ALIGN_BOTTOM | Wx::GROW , 5) box = Wx::BoxSizer.new(Wx::HORIZONTAL) -------------- next part -------------- --- wxruby2_old/swig/classes/include/wxStaticLine.h 2005-01-30 22:18:52.000000000 -0500 +++ wxruby2/swig/classes/include/wxStaticLine.h 2005-09-02 01:00:43.281843200 -0400 @@ -23,7 +23,7 @@ * \param const wxString& */ - wxStaticLine(wxWindow* parent , wxWindowID id , const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxLI_HORIZONTAL, const wxString& name = wxT("staticLine")) ; + wxStaticLine(wxWindow* parent , wxWindowID id = wxID_ANY , const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxLI_HORIZONTAL, const wxString& name = wxT("staticLine")) ; /** * \brief Creates the static line for two-step construction. See for further details. @@ -35,7 +35,7 @@ * \param const wxString& */ - bool Create(wxWindow* parent , wxWindowID id , const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = wxT("staticLine")) ; + bool Create(wxWindow* parent , wxWindowID id = wxID_ANY , const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = wxT("staticLine")) ; /** * \brief Returns true if the line is vertical, false if horizontal. */ From roys at mindspring.com Fri Sep 2 09:37:25 2005 From: roys at mindspring.com (Roy Sutton) Date: Fri Sep 2 09:30:49 2005 Subject: [Wxruby-users] More patch files Message-ID: <43185595.4070508@mindspring.com> 1) Patch to main.rbw to fix crash when double-clicking on a tree item 2) Patches to various event files to make the headers match more closely the current wxWindows code. I don't think there should be any problem with the functions I added but if they were left out on purpose it'd probably be better to put %ignores into the .i files Roy -------------- next part -------------- --- wxruby2_old/samples/bigdemo/main.rbw 2005-08-20 23:48:10.000000000 -0400 +++ wxruby2/samples/bigdemo/main.rbw 2005-09-02 09:33:08.833030400 -0400 @@ -285,7 +285,7 @@ evt_tree_item_expanded(TREE_ID) {|event| on_item_expanded(event)} evt_tree_item_collapsed(TREE_ID) {|event| on_item_collapsed(event)} evt_tree_sel_changed(TREE_ID) {|event| on_tree_sel_changed(event)} - evt_tree_item_activated(TREE_ID) {|event| on_tree_left_down(event)} + evt_tree_item_activated(TREE_ID) {|event| on_tree_sel_changed(event)} @tree.evt_left_down {|event| on_tree_left_down(event)} -------------- next part -------------- --- wxruby2_old/swig/classes/include/wxEvent.h 2005-08-21 23:22:50.000000000 -0400 +++ wxruby2/swig/classes/include/wxEvent.h 2005-09-02 01:59:25.907129600 -0400 @@ -19,6 +19,13 @@ void SetId(int id ) ; void SetTimestamp(long timeStamp ) ; void Skip(bool skip = true) ; + + bool IsCommandEvent() const ; + bool ShouldPropagate() const ; + int StopPropagation() ; + void ResumePropagation(int propagationLevel) ; + + }; -------------- next part -------------- --- wxruby2_old/swig/classes/include/wxCommandEvent.h 2005-08-21 23:22:50.000000000 -0400 +++ wxruby2/swig/classes/include/wxCommandEvent.h 2005-09-02 02:07:30.133412800 -0400 @@ -7,16 +7,18 @@ { public: wxCommandEvent(WXTYPE commandEventType = 0, int id = 0) ; + wxCommandEvent(const wxCommandEvent& event) ; + virtual ~wxCommandEvent(); bool Checked() const; void* GetClientData() ; - long GetExtraLong() ; - int GetInt() ; - int GetSelection() ; - wxString GetString() ; + long GetExtraLong() const; + int GetInt() const; + int GetSelection() const; + wxString GetString() const; bool IsChecked() const; - bool IsSelection() ; + bool IsSelection() const; void SetClientData(void* clientData ) ; void SetExtraLong(int extraLong ) ; void SetInt(int intCommand ) ; -------------- next part -------------- --- wxruby2_old/swig/classes/include/wxNotifyEvent.h 2005-08-21 23:22:50.000000000 -0400 +++ wxruby2/swig/classes/include/wxNotifyEvent.h 2005-09-02 02:04:10.436262400 -0400 @@ -7,6 +7,7 @@ { public: wxNotifyEvent(wxEventType eventType = wxEVT_NULL, int id = 0) ; + wxNotifyEvent(const wxNotifyEvent& event) ; void Allow() ; bool IsAllowed() const; void Veto() ; -------------- next part -------------- --- wxruby2_old/swig/classes/include/wxMouseEvent.h 2005-08-21 23:22:50.000000000 -0400 +++ wxruby2/swig/classes/include/wxMouseEvent.h 2005-09-02 02:30:27.594104000 -0400 @@ -7,6 +7,7 @@ { public: wxMouseEvent(wxEventType mouseEventType = 0) ; + wxMouseEvent(const wxMouseEvent& event) ; bool AltDown() ; bool Button(int button ) ; bool ButtonDClick(int but = wxMOUSE_BTN_ANY) ; From roys at mindspring.com Fri Sep 2 09:58:03 2005 From: roys at mindspring.com (Roy Sutton) Date: Fri Sep 2 09:51:26 2005 Subject: [Wxruby-users] ColourDialog Message-ID: <43185A6B.8090808@mindspring.com> The ColourDialog (Darn Brits messing up the spellings of perfectly good words!) has a weird behavior. When you first open it you can't select a color from the 'rainbow' on the right side until you select a basic color on the left. I don't think this was the case before we did the big inheritance change. Does anyone else remember if it worked properly before? Roy From sean.m.long at gmail.com Fri Sep 2 10:08:38 2005 From: sean.m.long at gmail.com (Sean Long) Date: Fri Sep 2 10:01:51 2005 Subject: [Wxruby-users] ColourDialog In-Reply-To: <43185A6B.8090808@mindspring.com> References: <43185A6B.8090808@mindspring.com> Message-ID: This problem has always existed on Windows, on Mac OS X it works fine. It has never been a big priority for me so I never looked into it. Sean On 9/2/05, Roy Sutton wrote: > The ColourDialog (Darn Brits messing up the spellings of perfectly good > words!) has a weird behavior. When you first open it you can't select a > color from the 'rainbow' on the right side until you select a basic > color on the left. I don't think this was the case before we did the > big inheritance change. Does anyone else remember if it worked properly > before? > > Roy > > _______________________________________________ > wxruby-users mailing list > wxruby-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/wxruby-users > From roys at mindspring.com Fri Sep 2 12:04:51 2005 From: roys at mindspring.com (Roy Sutton) Date: Fri Sep 2 11:58:08 2005 Subject: [Wxruby-users] renamer.rb Message-ID: <43187823.3090109@mindspring.com> Finally got around to deleting those lines in renamer.rb to un-camel-case centreX properly. Here it is. -------------- next part -------------- --- wxruby2_old/swig/renamer.rb 2005-08-04 21:36:02.000000000 -0400 +++ wxruby2/swig/renamer.rb 2005-09-02 11:59:35.607792000 -0400 @@ -14,9 +14,6 @@ if(func[0,2] == 'wx') func = func[2..-1] end - if(func[0,1] == func[0,1].downcase) - return func - end result = "" scratch = "" func.each_byte do |byte| From roys at mindspring.com Sat Sep 3 04:13:57 2005 From: roys at mindspring.com (Roy Sutton) Date: Sat Sep 3 04:07:26 2005 Subject: [Wxruby-users] Whole lotta stuff Message-ID: <43195B45.5080007@mindspring.com> 1) Please ignore the patch for wxMouseEvent.h. Including this causes the build to fail. 2) Attached are several files to patch some things to get the bigdemo working (better): Added a generic typemap for converting ruby arrays into point arrays. Added a typedef for wxDash Corrected/expanded the typemap for GetTextExtent Added GetMultiLineTextExtent prototype (there are some others missing I didn't add. I added this one because the typemap was so close to the other) Added typemap for SetDashes 3) It's very late (just flew out to the West Coast) and I'm not thinking straight. But I seem to recall there was a problem I shelved earlier today where appropriate ruby interfaces weren't being created for files we %import. Roy -------------- next part -------------- --- wxruby2_old/swig/typemap.i 2005-09-01 22:26:08.000000000 -0400 +++ wxruby2/swig/typemap.i 2005-09-02 23:24:07.725224000 -0400 @@ -189,6 +189,49 @@ ############################################################## +%typemap(in,numinputs=1) (int n, wxPoint points[]) (wxPoint *arr) +{ + if (($input == Qnil) || (TYPE($input) != T_ARRAY)) + { + $1 = 0; + $2 = NULL; + } + else + { + wxPoint *ptmp; + arr = new wxPoint[RARRAY($input)->len]; + for (int i = 0; i < RARRAY($input)->len; i++) + { + SWIG_ConvertPtr(rb_ary_entry($input,i), (void **) &ptmp, SWIGTYPE_p_wxPoint, 1); + if (ptmp == NULL) + rb_raise(rb_eTypeError, "null reference"); + arr[i] = *ptmp; + } + $1 = RARRAY($input)->len; + $2 = arr; + } +} + +%typemap(default,numinputs=1) (int n, wxPoint points[]) +{ + $1 = 0; + $2 = NULL; +} + +%typemap(freearg) (int n , wxPoint points []) +{ + if ($2 != NULL) delete [] $2; +} + +%typemap(typecheck) (int n , wxPoint points[]) +{ + $1 = (TYPE($input) == T_ARRAY); +} + +%apply (int n, wxPoint points []) { (int n, wxPoint* points),(int nItems, wxPoint *points) } + +############################################################## + %typemap(in) wxArrayString & (wxArrayString tmp){ if (($input == Qnil) || (TYPE($input) != T_ARRAY)) -------------- next part -------------- --- wxruby2_old/swig/typedefs.i 2005-08-19 01:04:02.000000000 -0400 +++ wxruby2/swig/typedefs.i 2005-09-03 01:18:41.416404800 -0400 @@ -12,3 +12,4 @@ typedef short int WXTYPE; enum wxCalendarHitTestResult; enum wxCalendarDateBorder; +typedef signed char wxDash; -------------- next part -------------- --- wxruby2_old/swig/classes/DC.i 2005-08-21 22:10:20.000000000 -0400 +++ wxruby2/swig/classes/DC.i 2005-09-02 22:36:59.528476800 -0400 @@ -16,21 +16,37 @@ %ignore wxDC::StartPage; -%typemap(in,numinputs=0) (wxCoord * w , wxCoord * h , wxCoord * descent, wxCoord * externalLeading) (wxCoord a, wxCoord b, wxCoord c, wxCoord d) { +%typemap(in,numinputs=0) (wxCoord * w , wxCoord * h , wxCoord * descent, wxCoord * externalLeading, wxFont *font) (wxCoord a, wxCoord b, wxCoord c, wxCoord d, wxFont f) { $1=&a; $2=&b; $3=&c; $4=&d; + $5=&f; } -%typemap(argout) (wxCoord * w , wxCoord * h , wxCoord * descent, wxCoord * externalLeading) { +%typemap(argout) (wxCoord * w , wxCoord * h , wxCoord * descent, wxCoord * externalLeading, wxFont *font) { $result = rb_ary_new(); rb_ary_push($result, INT2NUM(*$1)); rb_ary_push($result, INT2NUM(*$2)); rb_ary_push($result, INT2NUM(*$3)); rb_ary_push($result, INT2NUM(*$4)); + rb_ary_push($result, SWIG_NewPointerObj((void *) $5, SWIGTYPE_p_wxFont,0)); } +%typemap(in,numinputs=0) (wxCoord * width , wxCoord * height , wxCoord * heightLine, wxFont *font) (wxCoord a, wxCoord b, wxCoord c, wxFont f) { + $1=&a; + $2=&b; + $3=&c; + $4=&f; +} + +%typemap(argout) (wxCoord * width , wxCoord * height , wxCoord * heightLine, wxFont *font) { + $result = rb_ary_new(); + rb_ary_push($result, INT2NUM(*$1)); + rb_ary_push($result, INT2NUM(*$2)); + rb_ary_push($result, INT2NUM(*$3)); + rb_ary_push($result, SWIG_NewPointerObj((void *) $4, SWIGTYPE_p_wxFont,0)); +} %import "include/wxObject.h" %include "include/wxDC.h" -------------- next part -------------- --- wxruby2_old/swig/classes/include/wxDC.h 2005-08-21 22:10:20.000000000 -0400 +++ wxruby2/swig/classes/include/wxDC.h 2005-09-02 22:09:21.995060800 -0400 @@ -619,6 +619,13 @@ */ virtual void GetTextExtent(const wxString& string , wxCoord * w , wxCoord * h , wxCoord * descent = NULL, wxCoord * externalLeading = NULL, wxFont * font = NULL) = 0; + + virtual void GetMultiLineTextExtent(const wxString& text, + wxCoord *width, + wxCoord *height, + wxCoord *heightLine = NULL, + wxFont *font = NULL); + /** * \brief */ -------------- next part -------------- --- wxruby2_old/swig/classes/Pen.i 2005-08-20 22:27:08.000000000 -0400 +++ wxruby2/swig/classes/Pen.i 2005-09-03 01:51:57.947275200 -0400 @@ -10,6 +10,43 @@ //NO_DIRECTOR %} +%typemap(in,numinputs=1) (int n, wxDash *dashes) (wxDash *arr) +{ + if (($input == Qnil) || (TYPE($input) != T_ARRAY)) + { + $1 = 0; + $2 = NULL; + } + else + { + arr = new wxDash[RARRAY($input)->len]; + for (int i = 0; i < RARRAY($input)->len; i++) + { + arr[i] = NUM2INT(rb_ary_entry($input,i)); + } + $1 = RARRAY($input)->len; + $2 = arr; + } +} + +%typemap(default,numinputs=1) (int n, wxDash *dashes) +{ + $1 = 0; + $2 = NULL; +} + +%typemap(freearg) (int n , wxDash *dashes) +{ + if ($2 != NULL) delete [] $2; +} + +%typemap(typecheck) (int n , wxDash *dashes) +{ + $1 = (TYPE($input) == T_ARRAY); +} + +%apply (int n, wxDash dash []) { (int n, wxDash *dashes),(int nItems, wxDash *dash) } + %ignore wxPen::SetStipple; %ignore GetStipple; %ignore wxPen::wxPen(const wxBitmap&, int); -------------- next part -------------- --- wxruby2_old/swig/classes/WindowDC.i 2005-08-20 22:45:30.000000000 -0400 +++ wxruby2/swig/classes/WindowDC.i 2005-09-02 22:36:42.213579200 -0400 @@ -5,6 +5,38 @@ %module(directors="1") wxWindowDC +%typemap(in,numinputs=0) (wxCoord * w , wxCoord * h , wxCoord * descent, wxCoord * externalLeading, wxFont *font) (wxCoord a, wxCoord b, wxCoord c, wxCoord d, wxFont f) { + $1=&a; + $2=&b; + $3=&c; + $4=&d; + $5=&f; +} + +%typemap(argout) (wxCoord * w , wxCoord * h , wxCoord * descent, wxCoord * externalLeading, wxFont *font) { + $result = rb_ary_new(); + rb_ary_push($result, INT2NUM(*$1)); + rb_ary_push($result, INT2NUM(*$2)); + rb_ary_push($result, INT2NUM(*$3)); + rb_ary_push($result, INT2NUM(*$4)); + rb_ary_push($result, SWIG_NewPointerObj((void *) $5, SWIGTYPE_p_wxFont,0)); +} + +%typemap(in,numinputs=0) (wxCoord * width , wxCoord * height , wxCoord * heightLine, wxFont *font) (wxCoord a, wxCoord b, wxCoord c, wxFont f) { + $1=&a; + $2=&b; + $3=&c; + $4=&f; +} + +%typemap(argout) (wxCoord * width , wxCoord * height , wxCoord * heightLine, wxFont *font) { + $result = rb_ary_new(); + rb_ary_push($result, INT2NUM(*$1)); + rb_ary_push($result, INT2NUM(*$2)); + rb_ary_push($result, INT2NUM(*$3)); + rb_ary_push($result, SWIG_NewPointerObj((void *) $4, SWIGTYPE_p_wxFont,0)); +} + %import "include/wxObject.h" %import "include/wxDC.h" From wxruby at qualitycode.com Sat Sep 3 16:03:25 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sat Sep 3 15:56:59 2005 Subject: [Wxruby-users] About.rbw.patch In-Reply-To: <4317D368.6090202@mindspring.com> References: <4317D256.3090308@mindspring.com> <4317D368.6090202@mindspring.com> Message-ID: <431A018D.30007@qualitycode.com> Roy Sutton wrote: > Oops, I put the wrong flags on the file. Try this one instead. > > Roy Sutton wrote: > >> This patch file allows the About menu item in the bigdemo sample to work. This was rejected by patch. I don't know why--whitespace maybe??? I applied it manually, and it did indeed fix the About box. Thanks, Kevin From wxruby at qualitycode.com Sat Sep 3 16:07:01 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sat Sep 3 16:00:34 2005 Subject: [Wxruby-users] wxTreeCtrl.patch In-Reply-To: <4317D8B1.2010602@mindspring.com> References: <4317D8B1.2010602@mindspring.com> Message-ID: <431A0265.2040607@qualitycode.com> Roy Sutton wrote: > Attached is a patch that fixes a crash out of the bigdemo when you click > into the tree control. I added in the missing single-argument version > of HitTest. Why WX has a single argument version of HitTest only for > the tree control, I'll never know. Very cool, thanks. I was curious what was causing that but hadn't had a chance to look into it. Clicking on many/most of the individual items still results in various errors, but at least you can expand the tree now, and can get to the demos that do work. Kevin From wxruby at qualitycode.com Sat Sep 3 16:11:11 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sat Sep 3 16:04:44 2005 Subject: [Wxruby-users] Re: event handlers for wxGrid In-Reply-To: References: <4317B24A.6070501@qualitycode.com> Message-ID: <431A035F.6060707@qualitycode.com> Sean Long wrote: >>They didn't apply cleanly, possibly because I applied some of your other >>patches before this one. Can you resend whatever isn't already checked in? > > > Here are the patches again. These applied cleanly, but it looks like pretty massive duplication of code between event.i and evthandler.i. I think all the methods should be defined only in evthandler. Can you confirm that? Or explain why we would have them in both places? I haven't checked these in yet, pending your response. Thanks, Kevin From wxruby at qualitycode.com Sat Sep 3 16:18:32 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sat Sep 3 16:12:08 2005 Subject: [Wxruby-users] Patch to wxDialog.rbw In-Reply-To: <4317DF62.80609@mindspring.com> References: <4317DF62.80609@mindspring.com> Message-ID: <431A0518.2030706@qualitycode.com> Roy Sutton wrote: > This patch file adds a missing parameter to the sample source so the > dialog sample will work. This one also didn't apply cleanly. Must be something about the bigdemo directory. I'll try deleting my copy and pulling from CVS in case it's just local corruption. The line number appeared to be off by two. Maybe. > Also attached is a patch to add an additional > optional parameter to wxStaticLine.h. I was going through header files > to confirm the other problem and discovered there's another optional > parameter. Cool. Thanks, Kevin From wxruby at qualitycode.com Sat Sep 3 16:29:47 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sat Sep 3 16:23:21 2005 Subject: [Wxruby-users] More patch files In-Reply-To: <43185595.4070508@mindspring.com> References: <43185595.4070508@mindspring.com> Message-ID: <431A07BB.2080601@qualitycode.com> Roy Sutton wrote: > 1) Patch to main.rbw to fix crash when double-clicking on a tree item Applied manually. > 2) Patches to various event files to make the headers match more > closely the current wxWindows code. I don't think there should be any > problem with the functions I added but if they were left out on purpose > it'd probably be better to put %ignores into the .i files Yup. They all seem to compile here, so I committed the patches as you sent them. In order to keep a good history when we move to a "real" SCM tool, I'm checking in each chunk of work separately. So for something like this, I would slightly prefer two emails. No big deal, though. Thanks, Kevin From wxruby at qualitycode.com Sat Sep 3 16:31:40 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sat Sep 3 16:25:12 2005 Subject: [Wxruby-users] ColourDialog In-Reply-To: <43185A6B.8090808@mindspring.com> References: <43185A6B.8090808@mindspring.com> Message-ID: <431A082C.9050707@qualitycode.com> Roy Sutton wrote: > The ColourDialog (Darn Brits messing up the spellings of perfectly good > words!) :-) I find it odd that wx includes aliases for centre/center, but not for colour/color. We could certainly add those in the wx.rb library wrapper. > Does anyone else remember if it worked properly before? I don't. Kevin From wxruby at qualitycode.com Sat Sep 3 17:11:20 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sat Sep 3 17:04:54 2005 Subject: [Wxruby-users] renamer.rb In-Reply-To: <43187823.3090109@mindspring.com> References: <43187823.3090109@mindspring.com> Message-ID: <431A1178.7070104@qualitycode.com> Roy Sutton wrote: > Finally got around to deleting those lines in renamer.rb to > un-camel-case centreX properly. Here it is. I didn't check to see if this patch has any unfortunate side effects (like making methods or variables that used to be correct now be incorrect). But I can't think of any, so I applied it. Kevin From wxruby at qualitycode.com Sat Sep 3 17:35:46 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sat Sep 3 17:29:20 2005 Subject: [Wxruby-users] Alternatives to CVS? In-Reply-To: <20050830141501.GA13253@portfolio16.de> References: <20050809195824.GB19961@portfolio16.de> <42F97CD3.108@qualitycode.com> <4312895C.9010806@qualitycode.com> <20050830141501.GA13253@portfolio16.de> Message-ID: <431A1732.5000403@qualitycode.com> Tobias Gruetzmacher wrote: > On Mon, Aug 29, 2005 at 12:04:44AM -0400, Kevin Smith wrote: > >>I'm having second thoughts about darcs. The repo-inside-working-tree >>model is really bad for MS Windows users. > > This only becomes a problem when a Windows user wants to create > branches, right? So he has to make a full copy of his repository. Right. Which in darcs is several times a day, if you are doing active development. Sometimes several times within minutes of each other. For example, today I probably would have wanted to create 10-20 branches within about 2 hours. Each would have lasted perhaps 15 minutes before I would have deleted it. Except one (in addition to the mainline) that I would still have. > I just looked at the numbers with wxruby2 in darcs (created with > cvs2darcs just yesterday): > Size of source: 5084 kB > Size of complete darcs repository: 23004 kB > Size of _darcs (without _darcs/current): 12832 kB Ok. Let's say that wxruby2 is perhaps 10% of the size it will be a year from now. So we are looking at a 230 meg branch (working tree + all of _darcs). Create a few branches, and that starts to get significant. Can a MS Windows user estimate how long it would take to copy a 230 meg directory containing perhaps a couple thousand files? Time is at least as important as disk space. Then there is network bandwidth, and server disk space. If we're encouraging people to host their own repos (which I want to do), then those become issues. I'm not even sure how to calculate bandwidth, but many hosting accounts are limited to tens or hundreds of megabytes. Hosting even five 230 meg repos would exceed my $20/month hosting account. > Now a way to optimize this in darcs is to create checkpoints and let the > contributers checkout only partial repositories. I put a checkpoint to > the tag "v0_0_28". This adds about 1300 kB to the repository. When I > checkout that partial repository (onto anothe filesystem) I get a new > repository: > > Complete size: 11492 kB > Size of _darcs (without _darcs/current): 1364 kB A "checkpoint" and/or "partial repository" would basically give you history from a certain point forward, discarding any history from before that point, right? > So the best way to optimize the space-usage for Windows-User would be to > add checkpoints whenever the repository grows over a certain size. Not > too much a burden if you ask me. That might be ok, if we can figure out a smooth process to make it happen. I rarely look at history at all, and when I do it is usually only recent history. > Some statistics over the scalability of darcs from one user: > http://article.gmane.org/gmane.comp.version-control.darcs.user/7082 I agree that wxruby2 (and pretty much any project I would work on personally) would fall on the smaller end of the project spectrum, and thus would not face many darcs performance problems. I would like to hear some testimonials from MS Windows darcs users on medium-sized projects. > BTW: So I already have done the CVS-to-darcs-thing, I can also put it > online. I try to keep it current. The stuff is at > http://darcs.portfolio16.de/wxruby2/ - use "darcs get --partial" to only > get the changes from the last tag till now. This sounds cool, but the URL above gives a 403 Access Forbidden. Is it easy for you to make it publicly readonly? There is one other drawback of repo-inside-working-tree: Bugfix releases. With darcs, if you release 1.0 and then 1.1 and then 1.0.1, there is no way to do so with a single public repo. You have to have a 1.0.1 repo (that has none of the 1.1 work) and a 1.1 repo (that has none of the 1.0.1 work). Hopefully we (wxruby2) won't need many (if any) buxfix releases. But as a project goes on longer and longer, the odds increase that you will need multiple bugfix releases. Those become more difficult to manage, as well as consuming excess bandwidth and server disk space. I suppose you could do bugfix releases as partials from the point they forked, but that's one more manual intervention. I like the simple model of repo-inside-working-tree, but fundamentally I believe it is flawed because it pushes too much mental burden onto developers. Computers are supposed to handle little bookkeeping things like that for us. It might be possible to create a metadarcs wrapper that hid this complexity from developers. I haven't thought it through yet. Thanks for continuing the discussion, and I look forward to playing around with your darcs wxruby2 mirror. Kevin From wxruby at qualitycode.com Sat Sep 3 17:44:14 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sat Sep 3 17:37:50 2005 Subject: [Wxruby-users] Whole lotta stuff In-Reply-To: <43195B45.5080007@mindspring.com> References: <43195B45.5080007@mindspring.com> Message-ID: <431A192E.60604@qualitycode.com> Roy Sutton wrote: > 1) Please ignore the patch for wxMouseEvent.h. Including this causes > the build to fail. Too late. It builds here, but if it really does fail on other platforms I can revert the change. I believe it just added the copy constructor, but I would have to go back and check. A fresh patch to repair the damage (if necessary) would be welcome. > 2) Attached are several files to patch some things to get the bigdemo > working (better): Cool. Applied. > 3) It's very late (just flew out to the West Coast) and I'm not > thinking straight. But I seem to recall there was a problem I shelved > earlier today where appropriate ruby interfaces weren't being created > for files we %import. Interesting. Let us know if/when you remember or discover specific examples. Thanks again, Kevin From wxruby at qualitycode.com Sat Sep 3 22:16:20 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sat Sep 3 22:10:01 2005 Subject: [Wxruby-users] Good news on the crashing problem Message-ID: <431A58F4.6030609@qualitycode.com> Tonight, I started to look into why wxruby2 crashes so much. I found that the minimal, image, and calendar samples can run and exit without crashing. But several other samples, such as caret, would crash upon exit. A quick gdb stacktrace showed that ruby was attempting to free an object that wx had already deleted. We have protection against that (added post-swig by fixdeleting.rb), but it wasn't working in this case for wxCaret. Turns out that our wxCaret.h didn't have any virtual methods, so swig wasn't creating a director class, and fixdeleting only works for classes that have directors. In this case, it turned out the wxCaret docs incorrectly omitted the virtual keyword from two methods. I added virtual where it belonged, and suddenly the caret sample can exit without crashing. I am now optimistic that many/most/all of the segfault crashes will be solved the same way. Basically, we cannot have any wx classes without directors. In many cases, we will find that the docs simply left out some virtual keywords, and adding them will fix those classes. If there really are no virtual methods (which is true of some classes), we'll have to add one. Hopefully we'll be able to just declare the destructor virtual somehow. If not, hopefully we'll be able to use %extend. Worst case, we'll tweak the wxXxx.h files, with #if statements around our extra bits so the headers will still represent pure wx. Kevin From roys at mindspring.com Sat Sep 3 22:17:05 2005 From: roys at mindspring.com (Roy Sutton) Date: Sat Sep 3 22:10:20 2005 Subject: [Wxruby-users] Problem with swig? Message-ID: <431A5921.2040101@mindspring.com> Take a look at the generated code from ListBox.cpp: static VALUE _wrap_new_wxListBox__SWIG_0(int argc, VALUE *argv, VALUE self) { VALUE arg1 ; wxWindow *arg2 = (wxWindow *) 0 ; wxWindowID arg3 ; wxPoint *arg4 = 0 ; wxSize *arg5 = 0 ; int arg6 ; wxString *arg7 ; long arg8 ; wxValidator *arg9 = 0 ; wxString *arg10 = 0 ; wxListBox *result; wxString *arr6 ; arg8 has no default value! Here's the definition from the .h file: wxListBox(wxWindow* parent , wxWindowID id , const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, int n = 0 , const wxString choices[] = NULL, long style = 0, const wxValidator& validator = wxDefaultValidator, const wxString& name = wxT("listBox")); I /thought/ swig pulled the default values from the definition. You can only imagine the havok that is being wreaked through the library if there are uninitialized longs sprinkled about. Is this just a problem with one of our swig config files? From roys at mindspring.com Sat Sep 3 22:53:08 2005 From: roys at mindspring.com (Roy Sutton) Date: Sat Sep 3 22:46:22 2005 Subject: [Wxruby-users] The problem with %import Message-ID: <431A6194.2050600@mindspring.com> Here's an example of the problem I was talking about the other day. Take a look at Button.i. It imports from its entire heirarchy. If you look at Button.cpp you will see that no wrappers are generated for anything except the button functions. This brings up some other things that we'll need to keep in mind: If we've created a typemap in a .i file in classes and the .h file for that class is %imported elsewhere, we'd need to either redeclare the typemap or we'll need to place them into a file that gets %included (e.g.: %include "..\Window_typemaps.i") Roy From roys at mindspring.com Sat Sep 3 23:03:25 2005 From: roys at mindspring.com (Roy Sutton) Date: Sat Sep 3 22:56:38 2005 Subject: [Wxruby-users] Previous e-mail Message-ID: <431A63FD.7070609@mindspring.com> OK, ignore the first part of my previous e-mail. I see that it's working correctly. The second paragraph will likely still have to be addressed though. Roy From wxruby at qualitycode.com Sat Sep 3 23:14:19 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sat Sep 3 23:07:57 2005 Subject: [Wxruby-users] Problem with swig? In-Reply-To: <431A5921.2040101@mindspring.com> References: <431A5921.2040101@mindspring.com> Message-ID: <431A668B.7000907@qualitycode.com> Roy Sutton wrote: > Take a look at the generated code from ListBox.cpp: > > static VALUE > _wrap_new_wxListBox__SWIG_0(int argc, VALUE *argv, VALUE self) { > VALUE arg1 ; > wxWindow *arg2 = (wxWindow *) 0 ; > wxWindowID arg3 ; > wxPoint *arg4 = 0 ; > wxSize *arg5 = 0 ; > int arg6 ; > wxString *arg7 ; > long arg8 ; > wxValidator *arg9 = 0 ; > wxString *arg10 = 0 ; > wxListBox *result; > wxString *arr6 ; > arg8 has no default value! The way I'm reading the code, _wrap_new_wxListBox would only call _wrap_new_wxListBox__SWIG_0 if there were at least 5 parameters, in which case arg8 would be initialized later in that method. I did a quick test with printfs which seemed to confirm this. I don't like the style of code generated by swig, and especially that it causes warnings under gcc. But it doesn't look like it will cause any actual runtime problems. Kevin From wxruby at qualitycode.com Sat Sep 3 23:17:38 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sat Sep 3 23:11:14 2005 Subject: [Wxruby-users] The problem with %import In-Reply-To: <431A6194.2050600@mindspring.com> References: <431A6194.2050600@mindspring.com> Message-ID: <431A6752.3040104@qualitycode.com> Roy Sutton wrote: > This brings up some other things that we'll need to keep in mind: If > we've created a typemap in a .i file in classes and the .h file for that > class is %imported elsewhere, we'd need to either redeclare the typemap > or we'll need to place them into a file that gets %included (e.g.: > %include "..\Window_typemaps.i") My inclination is to move *all* the typemaps out of the individual .i files and put them all in swig/typemaps.i so they are available to any class that needs them. I guess the only exception would be if there were two classes that needed similar but incompatible typemaps, but I can't think of any situation that would require that. Unless there's a reason to keep typemaps in individual class .i files, I'll probably start rejecting any patch that adds more. And would start moving typemaps into .i files (or hoping to get patches to do so). Cheers, Kevin From wxruby at qualitycode.com Sat Sep 3 23:18:35 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sat Sep 3 23:12:10 2005 Subject: [Wxruby-users] Previous e-mail In-Reply-To: <431A63FD.7070609@mindspring.com> References: <431A63FD.7070609@mindspring.com> Message-ID: <431A678B.9080907@qualitycode.com> Roy Sutton wrote: > OK, ignore the first part of my previous e-mail. I see that it's > working correctly. The second paragraph will likely still have to be > addressed though. I trust the "previous e-mail" you refer to was regarding buttons and typemaps. Thus, I am disregarding the button paragraph of that email. If it's actually still an issue, please repeat it. Thanks, Kevin From roys at mindspring.com Sat Sep 3 23:20:48 2005 From: roys at mindspring.com (Roy Sutton) Date: Sat Sep 3 23:14:01 2005 Subject: [Wxruby-users] Problem with swig? In-Reply-To: <431A668B.7000907@qualitycode.com> References: <431A5921.2040101@mindspring.com> <431A668B.7000907@qualitycode.com> Message-ID: <431A6810.80001@mindspring.com> I'll double-check this. We're definitely seeing problems with an uninitialized style value. We're having the same problem elsewhere with uninitialized values: Check CheckListBox.cpp. This can be called with 5 arguments. If called with exactly five, arg8 will be uninitialized. Roy Kevin Smith wrote: > > The way I'm reading the code, _wrap_new_wxListBox would only call > _wrap_new_wxListBox__SWIG_0 if there were at least 5 parameters, in > which case arg8 would be initialized later in that method. I did a > quick test with printfs which seemed to confirm this. > > I don't like the style of code generated by swig, and especially that > it causes warnings under gcc. But it doesn't look like it will cause > any actual runtime problems. From roys at mindspring.com Sun Sep 4 00:11:10 2005 From: roys at mindspring.com (Roy Sutton) Date: Sun Sep 4 00:04:24 2005 Subject: [Wxruby-users] bigdemo patches Message-ID: <431A73DE.5010109@mindspring.com> Patches: 1) Sizer.rbw: Selects first item after creating the list 2) wxCalendarCtrl.rbw: Uses ruby DateTime now 3) wxButton.rbw: There is no function 'set_tool_tip_string'. Changed to set_tool_tip 4) wxCheckBox.rbw: Missing quote on require. cID was too big, caused assert failure 5) wxCheckListBox.rbw: Missing argument to StaticText.new added (I don't /think/ it's supposed to work without that argument) There are some .i and .h patches that I didn't have time to put together and deserve their own e-mail. Roy -------------- next part -------------- --- wxruby2_old/samples/bigdemo/Sizers.rbw 2005-08-20 23:48:10.000000000 -0400 +++ wxruby2/samples/bigdemo/Sizers.rbw 2005-09-03 22:04:42.143043200 -0400 @@ -494,6 +494,7 @@ @text = Wx::TextCtrl.new(self, -1, "", Wx::Point.new(10, 175), Wx::Size.new(350,75), Wx::TE_MULTILINE | Wx::TE_READONLY) $theTests.each {|item| @list.append(item[0])} + @list.select(0) end def on_select(event) -------------- next part -------------- --- wxruby2_old/samples/bigdemo/wxCalendarCtrl.rbw 2005-08-20 23:48:10.000000000 -0400 +++ wxruby2/samples/bigdemo/wxCalendarCtrl.rbw 2005-09-03 22:38:55.555705600 -0400 @@ -1,11 +1,13 @@ require 'wx' +require 'date' class TestPanel < Wx::Panel def initialize(parent, id, log) super(parent, id) @log = log - cal = Wx::CalendarCtrl.new(self, -1, Wx::DEFAULT_DATE_TIME, Wx::Point.new(25,50), Wx::DEFAULT_SIZE, + date = DateTime.now + cal = Wx::CalendarCtrl.new(self, -1, date, Wx::Point.new(25,50), Wx::DEFAULT_SIZE, Wx::CAL_SHOW_HOLIDAYS | Wx::CAL_SUNDAY_FIRST | Wx::CAL_SEQUENTIAL_MONTH_SELECTION) evt_calendar(cal.get_id()) {|event| on_cal_selected(event)} @@ -26,7 +28,7 @@ #end def on_cal_selected(event) - @log.write_text("on_cal_selected: " + event.get_date().format_iso_date()) + @log.write_text("on_cal_selected: " + event.get_date().strftime("%F")) end # missing get_current_month() method -------------- next part -------------- --- wxruby2_old/samples/bigdemo/wxButton.rbw 2005-08-20 23:48:10.000000000 -0400 +++ wxruby2/samples/bigdemo/wxButton.rbw 2005-09-03 23:01:18.937393600 -0400 @@ -13,7 +13,7 @@ b = Wx::Button.new(self, 20, "HELLO AGAIN!", Wx::Point.new(20,60), Wx::Size.new(120,45)) evt_button(20) {|event| on_click(event)} - b.set_tool_tip_string("This is a Hello button...") + b.set_tool_tip("This is a Hello button...") bmp = Wx::Bitmap.new("./icons/test2.bmp", Wx::BITMAP_TYPE_BMP) #mask = Wx::MaskColour.new(bmp, Wx::BLUE) -------------- next part -------------- --- wxruby2_old/samples/bigdemo/wxCheckBox.rbw 2005-08-20 23:48:10.000000000 -0400 +++ wxruby2/samples/bigdemo/wxCheckBox.rbw 2005-09-03 23:05:55.234689600 -0400 @@ -1,4 +1,5 @@ -require 'wx +require 'wx' + class TestCheckBox < Wx::Panel def initialize(parent, log) @log = log @@ -6,7 +7,7 @@ Wx::StaticText.new(self, -1, "This example uses the wxCheckBox control", Wx::Point.new(10,10)) - cID = 50000 + cID = 5000 cb1 = Wx::CheckBox.new(self, cID, " Apples", Wx::Point.new(65, 40), Wx::Size.new(150,20), Wx::NO_BORDER) cb2 = Wx::CheckBox.new(self, cID + 1, " Oranges", Wx::Point.new(65,60), Wx::Size.new(150,20), Wx::NO_BORDER) cb3 = Wx::CheckBox.new(self, cID + 2, " Pears", Wx::Point.new(65,80), Wx::Size.new(150,20), Wx::NO_BORDER) From sean.m.long at gmail.com Sun Sep 4 02:34:26 2005 From: sean.m.long at gmail.com (Sean Long) Date: Sun Sep 4 02:27:33 2005 Subject: [Wxruby-users] Re: event handlers for wxGrid In-Reply-To: <431A035F.6060707@qualitycode.com> References: <4317B24A.6070501@qualitycode.com> <431A035F.6060707@qualitycode.com> Message-ID: It should be Events.i in swig not Event.i in classes. I noticed Events.i is very similar to EvtHandler.i is there are reason for the duplication? I just do it that way because that is how it was done before. Sean On 9/3/05, Kevin Smith wrote: > Sean Long wrote: > >>They didn't apply cleanly, possibly because I applied some of your other > >>patches before this one. Can you resend whatever isn't already checked in? > > > > > > Here are the patches again. > > These applied cleanly, but it looks like pretty massive duplication of > code between event.i and evthandler.i. I think all the methods should be > defined only in evthandler. Can you confirm that? Or explain why we > would have them in both places? > > I haven't checked these in yet, pending your response. > > Thanks, > > Kevin > _______________________________________________ > wxruby-users mailing list > wxruby-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/wxruby-users > From roys at mindspring.com Sun Sep 4 02:43:24 2005 From: roys at mindspring.com (Roy Sutton) Date: Sun Sep 4 02:36:38 2005 Subject: [Wxruby-users] Possible patch for wxCheckListBox.h Message-ID: <431A978C.9070004@mindspring.com> I cut-n-pasted the public section from the wxWindows headers. Several things were missing so it seemed the easiest way to fix it. This fixed a problem with the way the overloaded new was being handled. This correctly generated all the versions so that it won't have the problem with the non-initialized default parameters. I will admit I haven't done serious testing on this but it -does- make the bigdemo work, which is a big improvement for me. Also, I don't know whether or not we need to add the protected members. I don't believe other classes expose them but I didn't really look into it. -------------- next part -------------- --- wxruby2_old/swig/classes/include/wxCheckListbox.h 2005-01-30 22:18:52.000000000 -0500 +++ wxruby2/swig/classes/include/wxCheckListBox.h 2005-09-03 23:54:12.971430400 -0400 @@ -12,67 +12,54 @@ * \brief Default constructor. */ - wxCheckListBox() ; - /** - * \brief Constructor, creating and showing a list box. + wxCheckListBox(wxWindow *parent, wxWindowID id, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + int nStrings = 0, + const wxString choices[] = NULL, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxListBoxNameStr); + wxCheckListBox(wxWindow *parent, wxWindowID id, + const wxPoint& pos, + const wxSize& size, + const wxArrayString& choices, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxListBoxNameStr); + + bool Create(wxWindow *parent, wxWindowID id, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + int n = 0, const wxString choices[] = NULL, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxListBoxNameStr); + bool Create(wxWindow *parent, wxWindowID id, + const wxPoint& pos, + const wxSize& size, + const wxArrayString& choices, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxListBoxNameStr); + + // override base class virtuals + virtual void Delete(int n); + + virtual bool SetFont( const wxFont &font ); + + // items may be checked + virtual bool IsChecked(size_t uiIndex) const; + virtual void Check(size_t uiIndex, bool bCheck = true); + + // return the index of the item at this position or wxNOT_FOUND + int HitTest(const wxPoint& pt) const { return DoHitTestItem(pt.x, pt.y); } + int HitTest(wxCoord x, wxCoord y) const { return DoHitTestItem(x, y); } + // accessors + size_t GetItemHeight() const { return m_nItemHeight; } - - - - - - - - - - - - - - - - - - -\pythonnote{The wxCheckListBox constructor in wxPython reduces the -and arguments are to a single argument, which is -a list of strings.} - -\perlnote{In wxPerl there is just an array reference in place of -and .} - * \param wxWindow* - * \param wxWindowID - * \param const wxPoint& - * \param const wxSize& - * \param int - * \param const wxString - * \param long - * \param const wxValidator& - * \param const wxString& - */ - - wxCheckListBox(wxWindow* parent , wxWindowID id , const wxPoint& pos , const wxSize& size, int n =0 , const wxString choices[] = NULL, long style = 0, const wxValidator& validator = wxDefaultValidator, const wxString& name = wxT("listBox")); - /** - * \brief Destructor, destroying the list box. - */ - - virtual ~wxCheckListBox() ; - /** - * \brief Checks the given item. Note that calling this method doesn't result in -wxEVT_COMMAND_CHECKLISTBOX_TOGGLE being emitted. - * \param int - * \param bool - */ - - void Check(int item , bool check = true) ; - /** - * \brief Returns true if the given item is checked, false otherwise. - * \param int - */ - - bool IsChecked(int item ) const; }; From ruby at portfolio16.de Sun Sep 4 09:49:01 2005 From: ruby at portfolio16.de (Tobias Gruetzmacher) Date: Sun Sep 4 09:42:19 2005 Subject: [Wxruby-users] Alternatives to CVS? In-Reply-To: <431A1732.5000403@qualitycode.com> References: <20050809195824.GB19961@portfolio16.de> <42F97CD3.108@qualitycode.com> <4312895C.9010806@qualitycode.com> <20050830141501.GA13253@portfolio16.de> <431A1732.5000403@qualitycode.com> Message-ID: <20050904134852.GB6818@portfolio16.de> Hi again, On Sat, Sep 03, 2005 at 05:35:46PM -0400, Kevin Smith wrote: > Tobias Gruetzmacher wrote: > >On Mon, Aug 29, 2005 at 12:04:44AM -0400, Kevin Smith wrote: > > > >>I'm having second thoughts about darcs. The repo-inside-working-tree > >>model is really bad for MS Windows users. > > > >This only becomes a problem when a Windows user wants to create > >branches, right? So he has to make a full copy of his repository. > > Right. Which in darcs is several times a day, if you are doing active > development. Sometimes several times within minutes of each other. For > example, today I probably would have wanted to create 10-20 branches > within about 2 hours. Each would have lasted perhaps 15 minutes before I > would have deleted it. Except one (in addition to the mainline) that I > would still have. OK, point taken. Personally, I don't work with that much branches, I normally work only on one task at a time in one working copy. After that, I can reuse it for the next feature, etc. > Then there is network bandwidth, and server disk space. If we're > encouraging people to host their own repos (which I want to do), then > those become issues. I'm not even sure how to calculate bandwidth, but > many hosting accounts are limited to tens or hundreds of megabytes. > Hosting even five 230 meg repos would exceed my $20/month hosting account. There is an option in darcs which makes it posible to create repositories which don't have a checked out copy of the tree, so that part would get a bit smaller. > >Now a way to optimize this in darcs is to create checkpoints and let the > >contributers checkout only partial repositories. I put a checkpoint to > >the tag "v0_0_28". This adds about 1300 kB to the repository. When I > >checkout that partial repository (onto anothe filesystem) I get a new > >repository: > > > >Complete size: 11492 kB > >Size of _darcs (without _darcs/current): 1364 kB > > A "checkpoint" and/or "partial repository" would basically give you > history from a certain point forward, discarding any history from before > that point, right? Yes. > >So the best way to optimize the space-usage for Windows-User would be to > >add checkpoints whenever the repository grows over a certain size. Not > >too much a burden if you ask me. > > That might be ok, if we can figure out a smooth process to make it > happen. I rarely look at history at all, and when I do it is usually > only recent history. If you do "Release early, release often", it may be sufficient to checkpoint every release. That would be one switch more with every release tag. > >BTW: So I already have done the CVS-to-darcs-thing, I can also put it > >online. I try to keep it current. The stuff is at > >http://darcs.portfolio16.de/wxruby2/ - use "darcs get --partial" to only > >get the changes from the last tag till now. > > This sounds cool, but the URL above gives a 403 Access Forbidden. Is it > easy for you to make it publicly readonly? Umm, I had a hard disk problem with the server, you got me at the one time where the server was up and the permissions of the files were broken ;) Just try again. > There is one other drawback of repo-inside-working-tree: Bugfix > releases. With darcs, if you release 1.0 and then 1.1 and then 1.0.1, > there is no way to do so with a single public repo. You have to have a > 1.0.1 repo (that has none of the 1.1 work) and a 1.1 repo (that has none > of the 1.0.1 work). So if the bugfix is small enough, you can merge it from the one branch to the other. I think that would be the prefered darcs working model. You do the fix in your current development branch, see it may be good to apply it to the stable releaes, and merge it there. This becomes a problem if the development branch differs very much from the stable version, so you have to do two patches. > I like the simple model of repo-inside-working-tree, but fundamentally I > believe it is flawed because it pushes too much mental burden onto > developers. Computers are supposed to handle little bookkeeping things > like that for us. Currently, I think the handling of checkpoint handling of darcs is a little bit flawed: It can create multiple checkpoints, but can only use the most recent one. I would like a darcs that would normaly only get the latest checkpoint and automatically fetches older checkpoints as there is need for older revisions... > Thanks for continuing the discussion, and I look forward to playing > around with your darcs wxruby2 mirror. Give it a shot, I've just pushed some more patches :) Greetings Tobi -- GPG-Key 0xE2BEA341 - signed/encrypted mail preferred My, oh so small, homepage: http://portfolio16.de/ http://www.fli4l.de/ - ISDN- & DSL-Router on one disk! Registered FLI4L-User #00000003 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: Digital signature Url : http://rubyforge.org/pipermail/wxruby-users/attachments/20050904/5ee14db0/attachment.bin From wxruby at qualitycode.com Sun Sep 4 12:28:54 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sun Sep 4 12:22:11 2005 Subject: [Wxruby-users] Possible patch for wxCheckListBox.h In-Reply-To: <431A978C.9070004@mindspring.com> References: <431A978C.9070004@mindspring.com> Message-ID: <431B20C6.5030300@qualitycode.com> Roy Sutton wrote: > I cut-n-pasted the public section from the wxWindows headers. Several > things were missing so it seemed the easiest way to fix it. This fixed > a problem with the way the overloaded new was being handled. This > correctly generated all the versions so that it won't have the problem > with the non-initialized default parameters. This makes sense. There appears to be a flaw in swig where if you have default parameters after a typemap that folds two paramters into one (e.g. int n, wxString choices[]), it gets confused. With the alternative version available (that takes an arraystring), swig is able to simply map the incoming array to that array, avoiding the confusion. Any place that we are typemapping an int,array we will have this problem, so we should try to make sure that each case also has an alternative wxArrayString or wxArrayInt version available. > I will admit I haven't > done serious testing on this but it -does- make the bigdemo work, which > is a big improvement for me. Which part of bigdemo did this improve for you? I still can't run the CheckListBox part of that demo. > Also, I don't know whether or not we need > to add the protected members. I don't believe other classes expose them > but I didn't really look into it. I don't think we should expose protected members, at least until someone comes up with a good reason to do so. I'm concerned that they may vary from platform to platform. The patch you sent seemed to have a typo (you accidentally deleted the default constructor), and didn't delete a dangling icky comment. So I cleaned it up slightly, and checked it in. Good detective work. Kevin From roys at mindspring.com Sun Sep 4 12:37:27 2005 From: roys at mindspring.com (Roy Sutton) Date: Sun Sep 4 12:30:42 2005 Subject: [Wxruby-users] Possible patch for wxCheckListBox.h In-Reply-To: <431B20C6.5030300@qualitycode.com> References: <431A978C.9070004@mindspring.com> <431B20C6.5030300@qualitycode.com> Message-ID: <431B22C7.7080501@mindspring.com> Kevin Smith wrote: > This makes sense. There appears to be a flaw in swig where if you have > default parameters after a typemap that folds two paramters into one > (e.g. int n, wxString choices[]), it gets confused. With the > alternative version available (that takes an arraystring), swig is > able to simply map the incoming array to that array, avoiding the > confusion. > > Any place that we are typemapping an int,array we will have this > problem, so we should try to make sure that each case also has an > alternative wxArrayString or wxArrayInt version available. This is definitely a problem. It's what was causing the other unitialized problem I was complaining about the other day, too, I think. I will see if there's a workaround in that file, too. > >> I will admit I haven't done serious testing on this but it -does- >> make the bigdemo work, which is a big improvement for me. > > > Which part of bigdemo did this improve for you? I still can't run the > CheckListBox part of that demo. For me, it makes the wxCheckListBox sample work. I'll check out the latest tarball to be sure it's still working. > I don't think we should expose protected members, at least until > someone comes up with a good reason to do so. I'm concerned that they > may vary from platform to platform. That was my thinking > The patch you sent seemed to have a typo (you accidentally deleted the > default constructor), and didn't delete a dangling icky comment. So I > cleaned it up slightly, and checked it in. Hmm! Glad you caught that. The comments were -really- icky in that file. From wxruby at qualitycode.com Sun Sep 4 12:51:16 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sun Sep 4 12:44:31 2005 Subject: [Wxruby-users] Possible patch for wxCheckListBox.h In-Reply-To: <431B22C7.7080501@mindspring.com> References: <431A978C.9070004@mindspring.com> <431B20C6.5030300@qualitycode.com> <431B22C7.7080501@mindspring.com> Message-ID: <431B2604.7070001@qualitycode.com> Roy Sutton wrote: > For me, it makes the wxCheckListBox sample work. I'll check out the > latest tarball to be sure it's still working. I just checked in two tweaks that allow it to work for me. It was passing incorrect parameters to a StaticText constructor, which was crashing my system. Then, the splitter on the right side was being initialized in a way that wedged it right up at the tab line, and couldn't be moved. It works now. I really like this bigdemo thing. It's a great way to exercise all the classes in one central location. I haven't heard from Robert Carlin lately, but if you're out there: Thanks Robert for porting bigdemo from wxPython! Kevin From wxruby at qualitycode.com Sun Sep 4 13:00:13 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sun Sep 4 12:53:26 2005 Subject: [Wxruby-users] Re: event handlers for wxGrid In-Reply-To: References: <4317B24A.6070501@qualitycode.com> <431A035F.6060707@qualitycode.com> Message-ID: <431B281D.3090100@qualitycode.com> Sean Long wrote: > It should be Events.i in swig not Event.i in classes. I noticed > Events.i is very similar to EvtHandler.i is there are reason for the > duplication? I just do it that way because that is how it was done > before. Ok. I have checked in the grid event stuff. I have added a note to TODO to eliminate the massive duplication. I think at some point someone decided to move it from one place to the other, but somehow forgot to do the delete part of the move after doing the copy. I can't think of any reason we would want all that stuff in two places, and glancing at it I couldn't see any need for it. Thanks, Kevin From wxruby at qualitycode.com Sun Sep 4 13:13:40 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sun Sep 4 13:06:56 2005 Subject: [Wxruby-users] bigdemo patches In-Reply-To: <431A73DE.5010109@mindspring.com> References: <431A73DE.5010109@mindspring.com> Message-ID: <431B2B44.1060602@qualitycode.com> Roy Sutton wrote: > Patches: > > 1) Sizer.rbw: Selects first item after creating the list > 2) wxCalendarCtrl.rbw: Uses ruby DateTime now > 3) wxButton.rbw: There is no function 'set_tool_tip_string'. Changed > to set_tool_tip > 4) wxCheckBox.rbw: Missing quote on require. cID was too big, caused > assert failure These patches are still failing for me (or at least the first one I tried was). I applied them all manually, with one change: Changing the ID from 5000 to ID_HIGHEST + 1 to avoid conflicting with a wx-assigned ID. Those parts of bigdemo do work for me now. I did just realize that I can only adjust the right-side splitter upward, not downward. Seems weird. Is that happening for you too? > 5) wxCheckListBox.rbw: Missing argument to StaticText.new added (I > don't /think/ it's supposed to work without that argument) This one wasn't included, but it's the same problem I found on my own before looking at this email. No need to resend. > There are some .i and .h patches that I didn't have time to put together > and deserve their own e-mail. Excellent. I'm really happy with the way things are going right now! Kevin From roys at mindspring.com Sun Sep 4 13:43:10 2005 From: roys at mindspring.com (Roy Sutton) Date: Sun Sep 4 13:36:24 2005 Subject: [Wxruby-users] Link error Message-ID: <431B322E.7060408@mindspring.com> Bogus.obj : error LNK2001: unresolved external symbol "public: void __thiscall wxBogus::TestDefaults(int,void const * * const,long)"(?TestDefaults@wxBogus@@QAEXHQAPBXJ@Z) lib/wxruby2.so : fatal error LNK1120: 1 unresolved externals Just see you checked in a bunch of stuff. Will check 'em out again. From roys at mindspring.com Sun Sep 4 13:47:39 2005 From: roys at mindspring.com (Roy Sutton) Date: Sun Sep 4 13:40:53 2005 Subject: [Wxruby-users] bigdemo patches In-Reply-To: <431B2B44.1060602@qualitycode.com> References: <431A73DE.5010109@mindspring.com> <431B2B44.1060602@qualitycode.com> Message-ID: <431B333B.2070306@mindspring.com> I wonder why patches for .i and .h files apply just fine but patches to .rb/rbw files fail? Could it be that CVS isn't treating .rb and .rbw as text files? Are the other files having line endings converted but the .rb and .rbw files aren't? Kevin Smith wrote: > These patches are still failing for me (or at least the first one I > tried was). From wxruby at qualitycode.com Sun Sep 4 14:33:19 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sun Sep 4 14:26:38 2005 Subject: [Wxruby-users] Link error In-Reply-To: <431B322E.7060408@mindspring.com> References: <431B322E.7060408@mindspring.com> Message-ID: <431B3DEF.8000203@qualitycode.com> Roy Sutton wrote: > Bogus.obj : error LNK2001: unresolved external symbol "public: void > __thiscall wxBogus::TestDefaults(int,void const * * > const,long)"(?TestDefaults@wxBogus@@QAEXHQAPBXJ@Z) > lib/wxruby2.so : fatal error LNK1120: 1 unresolved externals > > Just see you checked in a bunch of stuff. Will check 'em out again. Hm. I'm not getting a link error, but I can see why you might. I just now checked in a new Bogus.h that should avoid any problems you might still be having. Sorry! Kevin From wxruby at qualitycode.com Sun Sep 4 14:35:08 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sun Sep 4 14:28:22 2005 Subject: [Wxruby-users] bigdemo patches In-Reply-To: <431B333B.2070306@mindspring.com> References: <431A73DE.5010109@mindspring.com> <431B2B44.1060602@qualitycode.com> <431B333B.2070306@mindspring.com> Message-ID: <431B3E5C.4060702@qualitycode.com> Roy Sutton wrote: > I wonder why patches for .i and .h files apply just fine but patches to > .rb/rbw files fail? Could it be that CVS isn't treating .rb and .rbw as > text files? Are the other files having line endings converted but the > .rb and .rbw files aren't? I'm pretty sure your patches to .rb files in other directories work fine. I think there's something weird about bigdemo itself. Some of the patch failures seem to be caused by the line numbers being off by one (or two or three). Others I can't explain. I do have to confess that I only tried patch on one of the last four patches you sent, but I have never yet had one of your bigdemo patches work for me. Kevin From wxruby at qualitycode.com Sun Sep 4 15:18:39 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sun Sep 4 15:11:59 2005 Subject: [Wxruby-users] Alternatives to CVS? In-Reply-To: <20050904134852.GB6818@portfolio16.de> References: <20050809195824.GB19961@portfolio16.de> <42F97CD3.108@qualitycode.com> <4312895C.9010806@qualitycode.com> <20050830141501.GA13253@portfolio16.de> <431A1732.5000403@qualitycode.com> <20050904134852.GB6818@portfolio16.de> Message-ID: <431B488F.3090004@qualitycode.com> Tobias Gruetzmacher wrote: > > Umm, I had a hard disk problem with the server, you got me at the one > time where the server was up and the permissions of the files were > broken ;) Just try again. Ok. Works now. I'm a bit confused, though. Looking at the "darcs changes", it lists only one checkin after the 0_0_25 tag, but the Changelog file has many entries after that. How are you syncing from CVS to darcs, and how confident are you that it is accurate? How often do you migrate new changes, and is that manual or automated? Do tags also get migrated automatically? >>There is one other drawback of repo-inside-working-tree: Bugfix >>releases. With darcs, if you release 1.0 and then 1.1 and then 1.0.1, >>there is no way to do so with a single public repo. You have to have a >>1.0.1 repo (that has none of the 1.1 work) and a 1.1 repo (that has none >>of the 1.0.1 work). > > > So if the bugfix is small enough, you can merge it from the one branch > to the other. Yes, you're right. And darcs is MUCH better at moving changes between trees without conflicts than other SCM tools. My point was that you would be forced to have (and manage) a separate repo for each bugfix branch. That's less convenient than tools like mercurial and ArX that allow a single repo to contain multiple branches. So I still think that repo-inside-tree is the wrong model, and that if we start using darcs I will want to switch to something else later. However, based on another quick survey of the other tools, I really don't see any tool meeting my requirements for this project within the next several months, at least. Perhaps it would make sense to switch to darcs now, and just plan to switch to something else in a year or so. If something isn't available by then, I my just have to write my own! In ruby, of course :-) Thanks, Kevin From ruby at portfolio16.de Sun Sep 4 15:48:32 2005 From: ruby at portfolio16.de (Tobias Gruetzmacher) Date: Sun Sep 4 15:41:40 2005 Subject: [Wxruby-users] Alternatives to CVS? In-Reply-To: <431B488F.3090004@qualitycode.com> References: <20050809195824.GB19961@portfolio16.de> <42F97CD3.108@qualitycode.com> <4312895C.9010806@qualitycode.com> <20050830141501.GA13253@portfolio16.de> <431A1732.5000403@qualitycode.com> <20050904134852.GB6818@portfolio16.de> <431B488F.3090004@qualitycode.com> Message-ID: <20050904194831.GC6818@portfolio16.de> Hi, On Sun, Sep 04, 2005 at 03:18:39PM -0400, Kevin Smith wrote: > I'm a bit confused, though. Looking at the "darcs changes", it lists > only one checkin after the 0_0_25 tag, but the Changelog file has many > entries after that. How are you syncing from CVS to darcs, and how > confident are you that it is accurate? How often do you migrate new > changes, and is that manual or automated? Do tags also get migrated > automatically? I just pointed the cvs2darcs script from the darcs homepage. Since it uses cvsps to get patchsets/changesets from CVS, that would be to blame if there is a problem. I verified once that the darcs and CVS tree are the same after the import, but I (obviously) didn't check every patch. The CVS history of th Changelog looks very fishy to me... I tried tailor, but coudn't get that to work, so I only have a one-way-mirror... About migration: I used the cvs2darcs script once and now have a directory that is both a CVS checkout and a darcs repository and I update that manually in irregular intervals with the cvs2darcs main script. > Perhaps it would make sense to switch to darcs now, and just plan to > switch to something else in a year or so. If something isn't available > by then, I my just have to write my own! In ruby, of course :-) Another one? But as I see there really is none in Ruby at the moment :) Greetings Tobi -- GPG-Key 0xE2BEA341 - signed/encrypted mail preferred My, oh so small, homepage: http://portfolio16.de/ http://www.fli4l.de/ - ISDN- & DSL-Router on one disk! Registered FLI4L-User #00000003 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: Digital signature Url : http://rubyforge.org/pipermail/wxruby-users/attachments/20050904/5207a920/attachment.bin From jani.monoses at gmail.com Mon Sep 5 03:35:59 2005 From: jani.monoses at gmail.com (Jani Monoses) Date: Mon Sep 5 03:29:06 2005 Subject: [Wxruby-users] Patch to wxDialog.rbw In-Reply-To: <431A0518.2030706@qualitycode.com> References: <4317DF62.80609@mindspring.com> <431A0518.2030706@qualitycode.com> Message-ID: <29e1155305090500357bcd87b2@mail.gmail.com> > > This one also didn't apply cleanly. Must be something about the bigdemo > directory. I'll try deleting my copy and pulling from CVS in case it's > Maybe because some (all?) files in the bigdemo dir have mixed line-endings. I saw a lot of ^M characters in them when looking with vim. They should be converted to use line endings like the rest of the wxruby files - just '\n' I suppose. Jani -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/wxruby-users/attachments/20050905/164b8e64/attachment-0001.htm From sean.m.long at gmail.com Mon Sep 5 12:59:37 2005 From: sean.m.long at gmail.com (Sean Long) Date: Mon Sep 5 12:52:42 2005 Subject: [Wxruby-users] patch to wxCheckListBox.h Message-ID: size_t GetItemHeight() const is not part of the standard interface for this class. On Mac OS X for instance it is not defined. So it needs to be removed. This is why us developers should download the complete wxWidgets distribution that has all the headers for each platform so we can cross check when adding features, this is what I do. Sean -------------- next part -------------- A non-text attachment was scrubbed... Name: wxCheckListBox_h.patch Type: application/octet-stream Size: 665 bytes Desc: not available Url : http://rubyforge.org/pipermail/wxruby-users/attachments/20050905/36b62a3e/wxCheckListBox_h.obj From roys at mindspring.com Tue Sep 6 02:23:35 2005 From: roys at mindspring.com (Roy Sutton) Date: Tue Sep 6 02:16:51 2005 Subject: [Wxruby-users] wxSingleChoiceDialog.h Message-ID: <431D35E7.6000008@mindspring.com> Attached is a patch to wxSingleChoiceDialog.h. I replaced the constructor with one that used an array of strings and swig properly generates the interface now. I tried adding a header file for wxMultiChoiceSelection but it just does not work correctly. It always returns with 0 items selected. I will delve into this further tomorrow, perhaps. In any case, wxMultipleChoiceDialog.h should probably be deleted. The Swig class is called MultiChoiceDialog.h. Roy -------------- next part -------------- --- wxruby2_old/swig/classes/include/wxSingleChoiceDialog.h 2005-01-16 02:43:22.000000000 -0500 +++ wxruby2/swig/classes/include/wxSingleChoiceDialog.h 2005-09-06 01:34:48.369316800 -0400 @@ -5,6 +5,10 @@ #if !defined(_wxSingleChoiceDialog_h_) #define _wxSingleChoiceDialog_h_ + +#define wxCHOICEDLG_STYLE \ + (wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER | wxOK | wxCANCEL | wxCENTRE) + class wxSingleChoiceDialog : public wxDialog { public: @@ -20,7 +24,7 @@ * \param const wxPoint& */ - wxSingleChoiceDialog(wxWindow* parent , const wxString& message , const wxString& caption , int n , const wxString choices[] , char** clientData = NULL, long style = wxOK, const wxPoint& pos = wxDefaultPosition); + wxSingleChoiceDialog(wxWindow* parent , const wxString& message , const wxString& caption , const wxArrayString& choices , char** clientData = NULL, long style = wxCHOICEDLG_STYLE, const wxPoint& pos = wxDefaultPosition); /** * \brief Destructor. */ From wxruby at qualitycode.com Tue Sep 6 10:22:14 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Tue Sep 6 10:15:32 2005 Subject: [Wxruby-users] Patch to wxDialog.rbw In-Reply-To: <29e1155305090500357bcd87b2@mail.gmail.com> References: <4317DF62.80609@mindspring.com> <431A0518.2030706@qualitycode.com> <29e1155305090500357bcd87b2@mail.gmail.com> Message-ID: <431DA616.7020308@qualitycode.com> Jani Monoses wrote: >>This one also didn't apply cleanly. Must be something about the bigdemo >>directory. I'll try deleting my copy and pulling from CVS in case it's >> > > > Maybe because some (all?) files in the bigdemo dir have mixed line-endings. > I saw a lot of ^M characters in them when looking with vim. They should be > converted to use line endings like the rest of the wxruby files - just '\n' > I suppose. Ah! The files were created on MS Windows, but checked into CVS on my Linux machine. So they probably actually have CR's in addition to the LF's. When anothe MS Windows user checks them out, they end up with double-newlines, which is why the line numbers of the diffs don't match. I deleted them and re-checked them out, but now I see that won't help because they actually have CR's in the CVS tree. I think that all makes sense. I just now ran dos2unix on all the bigdemo files, and checked them in. Hopefully that will fix it. Thanks! Kevin From wxruby at qualitycode.com Wed Sep 7 10:39:29 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Wed Sep 7 10:32:59 2005 Subject: [Wxruby-users] patch to wxCheckListBox.h In-Reply-To: References: Message-ID: <431EFBA1.9030006@qualitycode.com> Sean Long wrote: > size_t GetItemHeight() const is not part of the standard interface for > this class. On Mac OS X for instance it is not defined. So it needs to > be removed. Thanks. I ended up just commenting it out, because it is available on both GTK and MSW, so it looks like more of an oversight or limitation that it's not on either of the Mac ports. Eventually I suspect we'll put #if GTK || MSW around this one. Dang, I wish the wx guys were more strict about full cross-platform compatibility. Or, I wish that C++ would allow compile-time introspection so we could automatically include or exclude methods based on whether they are actually defined, instead of a lame and error-prone #if GTK or whatever. > This is why us developers should download the complete wxWidgets > distribution that has all the headers for each platform so we can > cross check when adding features, this is what I do. I just downloaded the full set. It seems to be VERY painful to navigate all the trees to find each definition on each platform. Do you have any hints for how to do so without going insane and/or taking hours to add each individual method? Thanks, Kevin From sean.m.long at gmail.com Wed Sep 7 10:47:31 2005 From: sean.m.long at gmail.com (Sean Long) Date: Wed Sep 7 10:40:31 2005 Subject: [Wxruby-users] patch to wxCheckListBox.h In-Reply-To: <431EFBA1.9030006@qualitycode.com> References: <431EFBA1.9030006@qualitycode.com> Message-ID: > I just downloaded the full set. It seems to be VERY painful to navigate > all the trees to find each definition on each platform. Do you have any > hints for how to do so without going insane and/or taking hours to add > each individual method? Nope. :) It is a pain. It would be nice if we could use the headers directly out of the wx src, which is what I think wxPython does but with hacks bolted on. Ideally the wx developers would do all this work for us. Sorry I did not have a magical way of doing it Sean From wxruby at qualitycode.com Wed Sep 7 10:53:32 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Wed Sep 7 10:46:56 2005 Subject: [Wxruby-users] wxSingleChoiceDialog.h In-Reply-To: <431D35E7.6000008@mindspring.com> References: <431D35E7.6000008@mindspring.com> Message-ID: <431EFEEC.4090705@qualitycode.com> Roy Sutton wrote: > Attached is a patch to wxSingleChoiceDialog.h. I replaced the > constructor with one that used an array of strings and swig properly > generates the interface now. Cool. Committed. > I tried adding a header file for > wxMultiChoiceSelection but it just does not work correctly. It always > returns with 0 items selected. I will delve into this further tomorrow, > perhaps. In any case, wxMultipleChoiceDialog.h should probably be > deleted. The Swig class is called MultiChoiceDialog.h. On my system, the bigdemo multiple choice dialog sample works fine, and correctly reported the three items I had selected. Ah. That's because it calls the global function Wx::get_multiple_choices instead of creating a dialog. I deleted the empty, misnamed, unused wxMultipleChoiceDialog.h, as you suggested. Thanks, Kevin From wxruby at qualitycode.com Wed Sep 7 11:12:57 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Wed Sep 7 11:06:22 2005 Subject: [Wxruby-users] patch to wxCheckListBox.h In-Reply-To: References: <431EFBA1.9030006@qualitycode.com> Message-ID: <431F0379.2020906@qualitycode.com> Sean Long wrote: > It is a pain. It would be nice if we could use the headers directly > out of the wx src, which is what I think wxPython does but with hacks > bolted on. Ideally the wx developers would do all this work for us. Hm. I just experimented a little bit with this, and it *might* actually work. I have always feared that the wx headers are too complex for swig's poor little parser, but maybe it's stronger than I thought. It's probably worth more experimentation, since it would a) save us development time and effort, and b) expose a more complete and accurate api on each platform. Kevin From ruby at portfolio16.de Thu Sep 8 17:40:12 2005 From: ruby at portfolio16.de (Tobias Gruetzmacher) Date: Thu Sep 8 17:33:21 2005 Subject: [Wxruby-users] patch to wxCheckListBox.h In-Reply-To: <431F0379.2020906@qualitycode.com> References: <431EFBA1.9030006@qualitycode.com> <431F0379.2020906@qualitycode.com> Message-ID: <20050908214012.GA11328@portfolio16.de> Hi, On Wed, Sep 07, 2005 at 11:12:57AM -0400, Kevin Smith wrote: > Hm. I just experimented a little bit with this, and it *might* actually > work. I have always feared that the wx headers are too complex for > swig's poor little parser, but maybe it's stronger than I thought. It's > probably worth more experimentation, since it would a) save us > development time and effort, and b) expose a more complete and accurate > api on each platform. I had the idea of using doxygen to simplyfy the classes. The parser of Doxygen is pretty good - the only thing missing is a path from Doxygen output back to C++ headers. One would have to use Doxygen's XML output and generate header files from it... Greetings Tobi -- GPG-Key 0xE2BEA341 - signed/encrypted mail preferred My, oh so small, homepage: http://portfolio16.de/ http://www.fli4l.de/ - ISDN- & DSL-Router on one disk! Registered FLI4L-User #00000003 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: Digital signature Url : http://rubyforge.org/pipermail/wxruby-users/attachments/20050908/00bd3a60/attachment.bin From wxruby at qualitycode.com Thu Sep 8 17:52:34 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Thu Sep 8 17:45:48 2005 Subject: [Wxruby-users] Generating wx headers using doxygen? (was: patch to wxCheckListBox.h) In-Reply-To: <20050908214012.GA11328@portfolio16.de> References: <431EFBA1.9030006@qualitycode.com> <431F0379.2020906@qualitycode.com> <20050908214012.GA11328@portfolio16.de> Message-ID: <4320B2A2.8080606@qualitycode.com> Tobias Gruetzmacher wrote: > I had the idea of using doxygen to simplyfy the classes. The parser of > Doxygen is pretty good - the only thing missing is a path from Doxygen > output back to C++ headers. One would have to use Doxygen's XML output > and generate header files from it... Parsing XML would be a big improvement over what we're doing now. We would probably have the doxygen step be optional, like our old XML parsing step was. I don't want to *require* doxygen to build wxruby2. It would be great if you (or some other volunteer) could do a little testing of this approach. If you can generate a good XML file from a typical class (like wxButton or wxPaintDC), and post it to the list, I could probably tell pretty quickly whether it's worth going further. It would also be interesting to see the XML generated for a class that differs between our supported platforms. Thanks, Kevin From ruby at portfolio16.de Thu Sep 8 18:47:28 2005 From: ruby at portfolio16.de (Tobias Gruetzmacher) Date: Thu Sep 8 18:40:32 2005 Subject: [Wxruby-users] Generating wx headers using doxygen? (was: patch to wxCheckListBox.h) In-Reply-To: <4320B2A2.8080606@qualitycode.com> References: <431EFBA1.9030006@qualitycode.com> <431F0379.2020906@qualitycode.com> <20050908214012.GA11328@portfolio16.de> <4320B2A2.8080606@qualitycode.com> Message-ID: <20050908224716.GB11328@portfolio16.de> Skipped content of type multipart/mixed-------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: Digital signature Url : http://rubyforge.org/pipermail/wxruby-users/attachments/20050909/30a28c14/attachment-0001.bin From wxruby at qualitycode.com Thu Sep 8 21:00:04 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Thu Sep 8 20:53:25 2005 Subject: [Wxruby-users] Alternatives to CVS? In-Reply-To: <20050904194831.GC6818@portfolio16.de> References: <20050809195824.GB19961@portfolio16.de> <42F97CD3.108@qualitycode.com> <4312895C.9010806@qualitycode.com> <20050830141501.GA13253@portfolio16.de> <431A1732.5000403@qualitycode.com> <20050904134852.GB6818@portfolio16.de> <431B488F.3090004@qualitycode.com> <20050904194831.GC6818@portfolio16.de> Message-ID: <4320DE94.2070201@qualitycode.com> Tobias Gruetzmacher wrote: > I just pointed the cvs2darcs script from the darcs homepage. Since it > uses cvsps to get patchsets/changesets from CVS, that would be to blame > if there is a problem. I verified once that the darcs and CVS tree are > the same after the import, but I (obviously) didn't check every patch. > The CVS history of th Changelog looks very fishy to me... Changelog was recently extracted out of README, so it has a short CVS history. I just did a darcs pull, to get the latest stuff from your repo. Glancing at darcs changes and the Changelog, things now look fine. I'm not sure if something changed, or if I was just confused earlier. > I tried tailor, but coudn't get that to work, so I only have a > one-way-mirror... One way is fine for now, I think. > About migration: I used the cvs2darcs script once and now have a > directory that is both a CVS checkout and a darcs repository and I > update that manually in irregular intervals with the cvs2darcs main > script. Would it be easy (or possible) for you to set up a cron job so the updates would happen automatically (predictably, reliably)? If you can do that, I will commit to accepting patches in darcs format, on an experimental basis. >>Perhaps it would make sense to switch to darcs now, and just plan to >>switch to something else in a year or so. If something isn't available >>by then, I my just have to write my own! In ruby, of course :-) > > Another one? But as I see there really is none in Ruby at the moment :) There is only one SCM tool in ruby (fastcst), and it is not mature enough to use. Since its author seems to have moved on to other projects (at least for now) I don't have much hope for it. Actually, there is one other Ruby SCM tool: yarcs. It was my attempt from a couple years ago to rewrite darcs into Ruby. I got it to the point where it could correcly "pull" and apply several hundred patches from the darcs development repo. For a variety of reasons, I don't want to work on that project any more. All I want is an SCM tool that has these features: - Cross platform (Linux/Mac/MSWin) - Truly cheap branching without hardlinks - Reasonably simple UI - Able to serve a readonly repo on a free/cheap http-only web host So far, exactly NONE of the many tools out there can fulfill these minimal requirements. ArX fails #3. Codeville, monotone and svk fail #4. Darcs fails #2. Bzr (aka bazaar-ng aka bazaar2) currently fails #2, but the developers are actively discussing a solution. That's why I remain optimistic that by next April (the 6.04 Ubuntu release) bzr may be the first system to meet all my needs. The next most likely appears to be ArX, if its author follows through with his UI simplification plans. Seriously, if none of the systems have those features by a year from now, I may be forced to write my own, and if I do, you can bet that it will be in ruby. I really hope it doesn't come to that. And at this point it looks like it won't. Kevin From wxruby at qualitycode.com Sat Sep 10 00:59:26 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sat Sep 10 00:52:32 2005 Subject: [Wxruby-users] Tagged wxruby2 v0.0.29, plus added more directors Message-ID: <4322682E.9010202@qualitycode.com> Since things seemed to be somewhat stable (that is, wxruby2 compiles and runs on all three platforms), I tagged what has been there for a couple days as v0_0_29. Nothing magic about it, but it had been a while since I had tagged. Then I worked on adding directors to the classes that don't have them, in the hopes of avoiding more segfault crashes during garbage collection. I was able to get directors working for 14 more classes, but there are still 16 that should have directors but don't. For me (and SpaceMonkeys), the most important are probably Point, Size, MemoryDC, and maybe Icon. A couple of the changes I made seemed a bit surprising, so I think I am fighting against and/or taking unfair advantage of some swig bugs. If anything doesn't compile for you with the latest code, let me know and I can probably offer some suggestions. Kevin From sean.m.long at gmail.com Sat Sep 10 02:28:56 2005 From: sean.m.long at gmail.com (Sean Long) Date: Sat Sep 10 02:21:53 2005 Subject: [Wxruby-users] Tagged wxruby2 v0.0.29, plus added more directors In-Reply-To: <4322682E.9010202@qualitycode.com> References: <4322682E.9010202@qualitycode.com> Message-ID: I had to change FontDialog.i back to how it was before to get it to compile on OS X. I also fixed the require for one of the minimal samples to 'wx' instead of 'wxruby'. The project is coming along very nicely, I have been working on a complex program using it for the last 1.5 weeks and have not hit any snags (hence the lack of patches from me). The only problem I have is on OS X and trying to type a value into a cell in wxGrid that has a GridCellStringRenderer and GridCellTextEditor, I get: `get_default_editor_for_cell': stack level too deep (SystemStackError) I have looked into this a bit and can not find an obvious cause, on Windows I do not have any problem with the same code, I pound on it all day long. Any Ideas? Sean On 9/9/05, Kevin Smith wrote: > Since things seemed to be somewhat stable (that is, wxruby2 compiles and > runs on all three platforms), I tagged what has been there for a couple > days as v0_0_29. Nothing magic about it, but it had been a while since I > had tagged. > > Then I worked on adding directors to the classes that don't have them, > in the hopes of avoiding more segfault crashes during garbage > collection. I was able to get directors working for 14 more classes, but > there are still 16 that should have directors but don't. For me (and > SpaceMonkeys), the most important are probably Point, Size, MemoryDC, > and maybe Icon. > > A couple of the changes I made seemed a bit surprising, so I think I am > fighting against and/or taking unfair advantage of some swig bugs. If > anything doesn't compile for you with the latest code, let me know and I > can probably offer some suggestions. > > Kevin > _______________________________________________ > wxruby-users mailing list > wxruby-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/wxruby-users > -------------- next part -------------- A non-text attachment was scrubbed... Name: font_dialog_i.patch Type: application/octet-stream Size: 661 bytes Desc: not available Url : http://rubyforge.org/pipermail/wxruby-users/attachments/20050909/d2f386be/font_dialog_i.obj -------------- next part -------------- A non-text attachment was scrubbed... Name: text_rb.patch Type: application/octet-stream Size: 430 bytes Desc: not available Url : http://rubyforge.org/pipermail/wxruby-users/attachments/20050909/d2f386be/text_rb.obj From wxruby at qualitycode.com Sat Sep 10 10:22:55 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sat Sep 10 10:16:11 2005 Subject: [Wxruby-users] Tagged wxruby2 v0.0.29, plus added more directors In-Reply-To: References: <4322682E.9010202@qualitycode.com> Message-ID: <4322EC3F.5080801@qualitycode.com> Sean Long wrote: > I had to change FontDialog.i back to how it was before to get it to > compile on OS X. I haven't applied this, because we *really* need directors to work. Can you paste in the compile errors you are seeing so we can try to fix them? > I also fixed the require for one of the minimal > samples to 'wx' instead of 'wxruby'. Applied, thanks. I suspect text.rb was a throwaway that never should have been checked in, but we'll leave it in for now. > The project is coming along very > nicely, I have been working on a complex program using it for the last > 1.5 weeks and have not hit any snags (hence the lack of patches from > me). That's really great to hear! And a bit surprising, since my own app still crashes at the first garbage collection, which tends to happen as soon as you click on the first button. > The only problem I have is on OS X and trying to type a value > into a cell in wxGrid that has a GridCellStringRenderer and > GridCellTextEditor, I get: > > `get_default_editor_for_cell': stack level too deep (SystemStackError) > > I have looked into this a bit and can not find an obvious cause, on > Windows I do not have any problem with the same code, I pound on it > all day long. Any Ideas? I can think of a couple debug printfs you can put in to try to track it down. First, in src/grid.cpp, in SwigDirector_wxGrid::GetDefaultEditorForCell, put printfs before the call to get_swig_up, right after it (inside the if), and before and after the rb_funcall line. Be sure not to call get_swig_up yourself, since calling it affects its state. You might see the rb_funcall being executed recursively until the stack overflows. Next, try overriding get_default_editor_for_cell in your ruby Grid subclass. Just print that you were called, and then invoke super. This might show the same results as above, or might affect the problem enough to hide it. There is a pretty good chance that the problem is caused by us not correctly specifying the class hierarchy and all the virtual methods. You might compare the relevant .h files in swig/classes/include/ against those in the Mac wx directory. Definitely wxGrid, and probably the various grid cell and event classes. Does your app have any idle processing or multithreading? Those would be another possible cause of problems with the get_swig_up mechanism. Kevin From roys at mindspring.com Sat Sep 10 23:55:13 2005 From: roys at mindspring.com (Roy Sutton) Date: Sat Sep 10 23:48:17 2005 Subject: [Wxruby-users] Swig generates bad interface to GetTextExtent Message-ID: <4323AAA1.2070903@mindspring.com> Swig's bad interface generation strikes again. get_text_extent called with 1 argument maps to WindowDC's _wrap_wxWindowDC_GetTextExtent__SWIG_0 Since this generates a wxFont that's not initialized to nil it fails when calling into wxWindows. Anyone have a suggestion? From wxruby at qualitycode.com Sun Sep 11 00:20:14 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sun Sep 11 00:13:46 2005 Subject: [Wxruby-users] Swig generates bad interface to GetTextExtent In-Reply-To: <4323AAA1.2070903@mindspring.com> References: <4323AAA1.2070903@mindspring.com> Message-ID: <4323B07E.3070407@qualitycode.com> Roy Sutton wrote: > Swig's bad interface generation strikes again. get_text_extent called > with 1 argument maps to WindowDC's _wrap_wxWindowDC_GetTextExtent__SWIG_0 > > Since this generates a wxFont that's not initialized to nil it fails > when calling into wxWindows. Anyone have a suggestion? Ugh. I need to report this to the swig list to see if they have any plans to fix it. For this case, I think the solution is to do what wxPerl did, which is to define a get_text_extent(string, font=nil) that returns four values (width, height, descent, externalLeading). To do that, I think we would get rid of those icky typemaps in WindowDC.i, and %ignore GetTextExtent. Then %extend the class to implement our own get_text_extent. Much like we did for App#main_loop. The actual body of our get_text_extent should be fairly straightforward: Validate the parameters, call GetTextExtent with some locals to hold the results, create a ruby array, copy the results to it, and return it. We'll need to do the same thing for DC.i, so it would probably be best to put the %extend stuff in a .i file that is %include'd from both. Maybe "../dcextensions.i"? I'm not sure if there will be issues trying to make it work for two different classes. If so, we could have duplicated code to start with, and later figure out how to merge them. Kevin From roys at mindspring.com Sun Sep 11 01:08:53 2005 From: roys at mindspring.com (Roy Sutton) Date: Sun Sep 11 01:01:58 2005 Subject: [Wxruby-users] Swig generates bad interface to GetTextExtent In-Reply-To: <4323AAA1.2070903@mindspring.com> References: <4323AAA1.2070903@mindspring.com> Message-ID: <4323BBE5.4070000@mindspring.com> Well, I fixed it. Font isn't an in/out parameter. Given the discussion earlier on moving typemaps into the typemap.i, attached is a patch to the three affected files. Given that wxWindowDC doesn't actually seem to declare all the methods defined in the wxWindowDC.h file, should we clean that out? Roy Roy Sutton wrote: > Swig's bad interface generation strikes again. get_text_extent called > with 1 argument maps to WindowDC's _wrap_wxWindowDC_GetTextExtent__SWIG_0 > > Since this generates a wxFont that's not initialized to nil it fails > when calling into wxWindows. Anyone have a suggestion? -------------- next part -------------- --- wxruby2_old/swig/typemap.i 2005-09-03 17:33:46.000000000 -0400 +++ wxruby2/swig/typemap.i 2005-09-11 00:17:57.043641600 -0400 @@ -334,3 +334,33 @@ ############################################################## + +%typemap(in,numinputs=0) (wxCoord * w , wxCoord * h , wxCoord * descent, wxCoord * externalLeading) (wxCoord a, wxCoord b, wxCoord c, wxCoord d) { + $1=&a; + $2=&b; + $3=&c; + $4=&d; +} + +%typemap(argout) (wxCoord * w , wxCoord * h , wxCoord * descent, wxCoord * externalLeading) { + $result = rb_ary_new(); + rb_ary_push($result, INT2NUM(*$1)); + rb_ary_push($result, INT2NUM(*$2)); + rb_ary_push($result, INT2NUM(*$3)); + rb_ary_push($result, INT2NUM(*$4)); +} + +%typemap(in,numinputs=0) (wxCoord * width , wxCoord * height , wxCoord * heightLine) (wxCoord a, wxCoord b, wxCoord c) { + $1=&a; + $2=&b; + $3=&c; +} + +%typemap(argout) (wxCoord * width , wxCoord * height , wxCoord * heightLine) { + $result = rb_ary_new(); + rb_ary_push($result, INT2NUM(*$1)); + rb_ary_push($result, INT2NUM(*$2)); + rb_ary_push($result, INT2NUM(*$3)); +} + +############################################################## -------------- next part -------------- --- wxruby2_old/swig/classes/DC.i 2005-09-09 23:31:22.000000000 -0400 +++ wxruby2/swig/classes/DC.i 2005-09-11 00:17:37.205115200 -0400 @@ -15,37 +15,6 @@ %ignore wxDC::EnableCache; %ignore wxDC::StartPage; -%typemap(in,numinputs=0) (wxCoord * w , wxCoord * h , wxCoord * descent, wxCoord * externalLeading, wxFont *font) (wxCoord a, wxCoord b, wxCoord c, wxCoord d, wxFont f) { - $1=&a; - $2=&b; - $3=&c; - $4=&d; - $5=&f; -} - -%typemap(argout) (wxCoord * w , wxCoord * h , wxCoord * descent, wxCoord * externalLeading, wxFont *font) { - $result = rb_ary_new(); - rb_ary_push($result, INT2NUM(*$1)); - rb_ary_push($result, INT2NUM(*$2)); - rb_ary_push($result, INT2NUM(*$3)); - rb_ary_push($result, INT2NUM(*$4)); - rb_ary_push($result, SWIG_NewPointerObj((void *) $5, SWIGTYPE_p_wxFont,0)); -} - -%typemap(in,numinputs=0) (wxCoord * width , wxCoord * height , wxCoord * heightLine, wxFont *font) (wxCoord a, wxCoord b, wxCoord c, wxFont f) { - $1=&a; - $2=&b; - $3=&c; - $4=&f; -} - -%typemap(argout) (wxCoord * width , wxCoord * height , wxCoord * heightLine, wxFont *font) { - $result = rb_ary_new(); - rb_ary_push($result, INT2NUM(*$1)); - rb_ary_push($result, INT2NUM(*$2)); - rb_ary_push($result, INT2NUM(*$3)); - rb_ary_push($result, SWIG_NewPointerObj((void *) $4, SWIGTYPE_p_wxFont,0)); -} %import "include/wxObject.h" %include "include/wxDC.h" -------------- next part -------------- --- wxruby2_old/swig/classes/WindowDC.i 2005-09-03 17:33:46.000000000 -0400 +++ wxruby2/swig/classes/WindowDC.i 2005-09-11 00:19:09.868358400 -0400 @@ -5,38 +5,6 @@ %module(directors="1") wxWindowDC -%typemap(in,numinputs=0) (wxCoord * w , wxCoord * h , wxCoord * descent, wxCoord * externalLeading, wxFont *font) (wxCoord a, wxCoord b, wxCoord c, wxCoord d, wxFont f) { - $1=&a; - $2=&b; - $3=&c; - $4=&d; - $5=&f; -} - -%typemap(argout) (wxCoord * w , wxCoord * h , wxCoord * descent, wxCoord * externalLeading, wxFont *font) { - $result = rb_ary_new(); - rb_ary_push($result, INT2NUM(*$1)); - rb_ary_push($result, INT2NUM(*$2)); - rb_ary_push($result, INT2NUM(*$3)); - rb_ary_push($result, INT2NUM(*$4)); - rb_ary_push($result, SWIG_NewPointerObj((void *) $5, SWIGTYPE_p_wxFont,0)); -} - -%typemap(in,numinputs=0) (wxCoord * width , wxCoord * height , wxCoord * heightLine, wxFont *font) (wxCoord a, wxCoord b, wxCoord c, wxFont f) { - $1=&a; - $2=&b; - $3=&c; - $4=&f; -} - -%typemap(argout) (wxCoord * width , wxCoord * height , wxCoord * heightLine, wxFont *font) { - $result = rb_ary_new(); - rb_ary_push($result, INT2NUM(*$1)); - rb_ary_push($result, INT2NUM(*$2)); - rb_ary_push($result, INT2NUM(*$3)); - rb_ary_push($result, SWIG_NewPointerObj((void *) $4, SWIGTYPE_p_wxFont,0)); -} - %import "include/wxObject.h" %import "include/wxDC.h" From roys at mindspring.com Sun Sep 11 04:27:05 2005 From: roys at mindspring.com (Roy Sutton) Date: Sun Sep 11 04:20:09 2005 Subject: [Wxruby-users] Patches for bigdemo Message-ID: <4323EA59.7030800@mindspring.com> Included are three patches to make the mdi demo work properly: main.rbw: Call init_all_image_handlers (Is there any reason we shouldn't just do this for people? Why make them call this? Is there a downside to initializing image handlers?) wxScrolledWindow.rbw: Uncommented call to draw_spline wxDC.h: Added another prototype of draw_spline so draw_spline will work in the demo -------------- next part -------------- --- wxruby2_old/samples/bigdemo/main.rbw 2005-09-06 10:14:04.000000000 -0400 +++ wxruby2/samples/bigdemo/main.rbw 2005-09-11 04:16:38.186433600 -0400 @@ -546,5 +546,6 @@ end end +Wx::init_all_image_handlers test = SimpleApp.new test.main_loop -------------- next part -------------- --- wxruby2_old/samples/bigdemo/wxScrolledWindow.rbw 2005-09-06 10:14:04.000000000 -0400 +++ wxruby2/samples/bigdemo/wxScrolledWindow.rbw 2005-09-11 04:21:49.694360000 -0400 @@ -57,7 +57,7 @@ dc.set_pen(Wx::GREY_PEN) dc.draw_polygon(lst, 75) dc.set_pen(Wx::GREEN_PEN) - #dc.draw_spline(lst.append([[100,100]])) + dc.draw_spline(lst << Wx::Point.new(100,100)) dc.draw_bitmap(@bmp, 200, 20, true) dc.set_text_foreground(Wx::Colour.new(0, 0xFF, 0x80)) -------------- next part -------------- --- wxruby2_old/swig/classes/include/wxDC.h 2005-09-09 23:31:22.000000000 -0400 +++ wxruby2/swig/classes/include/wxDC.h 2005-09-11 04:11:10.465193600 -0400 @@ -40,6 +40,7 @@ virtual void DrawRectangle(wxCoord x , wxCoord y , wxCoord width , wxCoord height ) = 0; virtual void DrawRotatedText(const wxString& text , wxCoord x , wxCoord y , double angle ) = 0; virtual void DrawRoundedRectangle(wxCoord x , wxCoord y , wxCoord width , wxCoord height , double radius ) = 0; + void DrawSpline(int n, wxPoint points[] ) ; void DrawSpline(wxList * points ) ; void DrawSpline(wxCoord x1 , wxCoord y1 , wxCoord x2 , wxCoord y2 , wxCoord x3 , wxCoord y3 ) ; virtual void DrawText(const wxString& text , wxCoord x , wxCoord y ) = 0; From roys at mindspring.com Sun Sep 11 13:52:12 2005 From: roys at mindspring.com (Roy Sutton) Date: Sun Sep 11 13:45:14 2005 Subject: [Wxruby-users] Fix to typemap.i Message-ID: <43246ECC.4080800@mindspring.com> This patch fixes ListBox's get_selections so it will take 0 arguments. The patch file includes the previous patch to typemap.i. If you've already applied the patch I think you can just delete the 2nd part of the patch. Roy -------------- next part -------------- --- wxruby2_old/swig/typemap.i 2005-09-03 17:33:46.000000000 -0400 +++ wxruby2/swig/typemap.i 2005-09-11 04:48:44.676590400 -0400 @@ -308,6 +308,22 @@ ############################################################## +%typemap(in,numinputs=0) (wxArrayInt& selections) (wxArrayInt tmp) { + $1 = &tmp; +} + +%typemap(out) (wxArrayInt& selections) { + + $result = rb_ary_new(); + + for (int i = 0; i < $1.GetCount(); i++) + { + rb_ary_push($result,INT2NUM( $1.Item(i) ) ); + } +} + +############################################################## + %typemap(in) wxEdge { $1 = (wxEdge)NUM2INT($input); } @@ -334,3 +350,33 @@ ############################################################## + +%typemap(in,numinputs=0) (wxCoord * w , wxCoord * h , wxCoord * descent, wxCoord * externalLeading) (wxCoord a, wxCoord b, wxCoord c, wxCoord d) { + $1=&a; + $2=&b; + $3=&c; + $4=&d; +} + +%typemap(argout) (wxCoord * w , wxCoord * h , wxCoord * descent, wxCoord * externalLeading) { + $result = rb_ary_new(); + rb_ary_push($result, INT2NUM(*$1)); + rb_ary_push($result, INT2NUM(*$2)); + rb_ary_push($result, INT2NUM(*$3)); + rb_ary_push($result, INT2NUM(*$4)); +} + +%typemap(in,numinputs=0) (wxCoord * width , wxCoord * height , wxCoord * heightLine) (wxCoord a, wxCoord b, wxCoord c) { + $1=&a; + $2=&b; + $3=&c; +} + +%typemap(argout) (wxCoord * width , wxCoord * height , wxCoord * heightLine) { + $result = rb_ary_new(); + rb_ary_push($result, INT2NUM(*$1)); + rb_ary_push($result, INT2NUM(*$2)); + rb_ary_push($result, INT2NUM(*$3)); +} + +############################################################## From roys at mindspring.com Sun Sep 11 15:28:25 2005 From: roys at mindspring.com (Roy Sutton) Date: Sun Sep 11 15:21:27 2005 Subject: [Wxruby-users] Handling int pointer parameters Message-ID: <43248559.1000601@mindspring.com> There are several functions that take the parameters (int *x, int *y) In some cases x & y are simply return values. In some cases x & y are both input and output. How are we going to handle this properly? One method would be to change the header files to something like xin or xout. I don't really like that method as it'll break as soon as header files change. I was checking to see if we could apply a typemap based off a specific regexp, but I don't see a way to do that. Any thoughts? From roys at mindspring.com Sun Sep 11 23:14:45 2005 From: roys at mindspring.com (Roy Sutton) Date: Sun Sep 11 23:08:00 2005 Subject: [Wxruby-users] Patch for typemap.i and Window.i Message-ID: <4324F2A5.1050507@mindspring.com> Added typemap for the differently-prototyped GetTextExtent. It was %ignored in Window.i. Since I added the typemap it doesn't seem like we'll need to %ignore it. Again, the patch for typemap.i is since the last check-in. -------------- next part -------------- --- wxruby2_old/swig/typemap.i 2005-09-03 17:33:46.000000000 -0400 +++ wxruby2/swig/typemap.i 2005-09-11 15:30:13.761176000 -0400 @@ -308,6 +308,22 @@ ############################################################## +%typemap(in,numinputs=0) (wxArrayInt& selections) (wxArrayInt tmp) { + $1 = &tmp; +} + +%typemap(out) (wxArrayInt& selections) { + + $result = rb_ary_new(); + + for (int i = 0; i < $1.GetCount(); i++) + { + rb_ary_push($result,INT2NUM( $1.Item(i) ) ); + } +} + +############################################################## + %typemap(in) wxEdge { $1 = (wxEdge)NUM2INT($input); } @@ -334,3 +350,49 @@ ############################################################## + +%typemap(in,numinputs=0) (wxCoord * w , wxCoord * h , wxCoord * descent, wxCoord * externalLeading) (wxCoord a, wxCoord b, wxCoord c, wxCoord d) { + $1=&a; + $2=&b; + $3=&c; + $4=&d; +} + +%typemap(argout) (wxCoord * w , wxCoord * h , wxCoord * descent, wxCoord * externalLeading) { + $result = rb_ary_new(); + rb_ary_push($result, INT2NUM(*$1)); + rb_ary_push($result, INT2NUM(*$2)); + rb_ary_push($result, INT2NUM(*$3)); + rb_ary_push($result, INT2NUM(*$4)); +} + +%typemap(in,numinputs=0) (wxCoord * width , wxCoord * height , wxCoord * heightLine) (wxCoord a, wxCoord b, wxCoord c) { + $1=&a; + $2=&b; + $3=&c; +} + +%typemap(argout) (wxCoord * width , wxCoord * height , wxCoord * heightLine) { + $result = rb_ary_new(); + rb_ary_push($result, INT2NUM(*$1)); + rb_ary_push($result, INT2NUM(*$2)); + rb_ary_push($result, INT2NUM(*$3)); +} + +%typemap(in,numinputs=0) (int * x , int * y , int * descent, int * externalLeading) (int a, int b, int c, int d) { + $1=&a; + $2=&b; + $3=&c; + $4=&d; +} + +%typemap(argout) (int * x , int * y , int * descent, int * externalLeading) { + $result = rb_ary_new(); + rb_ary_push($result, INT2NUM(*$1)); + rb_ary_push($result, INT2NUM(*$2)); + rb_ary_push($result, INT2NUM(*$3)); + rb_ary_push($result, INT2NUM(*$4)); +} + +############################################################## + -------------- next part -------------- --- wxruby2_old/swig/classes/Window.i 2005-08-20 22:45:30.000000000 -0400 +++ wxruby2/swig/classes/Window.i 2005-09-11 22:44:23.879406400 -0400 @@ -7,7 +7,6 @@ %ignore wxWindow::Clear; %ignore wxWindow::GetAccessible; -%ignore wxWindow::GetTextExtent; %ignore wxWindow::GetFont; %ignore wxWindow::GetChildren; %ignore wxWindow::PopEventHandler; From roys at mindspring.com Sun Sep 11 23:47:53 2005 From: roys at mindspring.com (Roy Sutton) Date: Sun Sep 11 23:40:57 2005 Subject: [Wxruby-users] Patch to wxNotebook.rbw Message-ID: <4324FA69.8000408@mindspring.com> Patch to the notebook example to remove the call to the deprecated NotebookSizer. It appears to work just fine without the sizer. Roy -------------- next part -------------- --- wxruby2_old/samples/bigdemo/wxNotebook.rbw 2005-09-06 10:14:04.000000000 -0400 +++ wxruby2/samples/bigdemo/wxNotebook.rbw 2005-09-11 23:40:17.211260800 -0400 @@ -26,8 +26,6 @@ load "GridSimple.rbw" #load "wxListCtrl.rbw" - Wx::NotebookSizer.new(self) - # Show how to put an image on one of the notebook tabs, # first make the image list: il = Wx::ImageList.new(16,16) From roys at mindspring.com Sun Sep 11 23:45:50 2005 From: roys at mindspring.com (Roy Sutton) Date: Sun Sep 11 23:41:06 2005 Subject: [Wxruby-users] Patch to wxNotebook.rbw Message-ID: <4324F9EE.9040606@mindspring.com> Patch to the notebook example to remove the call to the deprecated NotebookSizer. It appears to work just fine without the sizer. Roy -------------- next part -------------- --- wxruby2_old/samples/bigdemo/wxNotebook.rbw 2005-09-06 10:14:04.000000000 -0400 +++ wxruby2/samples/bigdemo/wxNotebook.rbw 2005-09-11 23:40:17.211260800 -0400 @@ -26,8 +26,6 @@ load "GridSimple.rbw" #load "wxListCtrl.rbw" - Wx::NotebookSizer.new(self) - # Show how to put an image on one of the notebook tabs, # first make the image list: il = Wx::ImageList.new(16,16) From roys at mindspring.com Mon Sep 12 13:50:44 2005 From: roys at mindspring.com (Roy Sutton) Date: Mon Sep 12 13:43:44 2005 Subject: [Wxruby-users] EvtMenuRange Message-ID: <4325BFF4.2030609@mindspring.com> Please see patched fixevents.rb and events.rb. I only fixed EVT_MENU_RANGE. There may be other events that are also incorrect. Roy -------------- next part -------------- --- wxruby2_old/swig/fixevents.rb 2005-08-06 11:25:16.000000000 -0400 +++ wxruby2/swig/fixevents.rb 2005-09-12 13:40:31.803884800 -0400 @@ -45,7 +45,7 @@ when 2 func = "internal_evt_with_id" when 3 - func = "internal_evt_with_range" + func = "internal_evt_with_id_range" end out.puts "#ifdef __WXMSW__" if windows -------------- next part -------------- --- wxruby2_old/swig/classes/include/events.rb 2005-09-04 12:47:54.000000000 -0400 +++ wxruby2/swig/classes/include/events.rb 2005-09-12 13:39:13.401147200 -0400 @@ -155,7 +155,7 @@ ["EVT_RIGHT_DCLICK", 1, "wxEVT_RIGHT_DCLICK"], ["EVT_GRID_LABEL_RIGHT_CLICK", 1, "wxEVT_GRID_LABEL_RIGHT_CLICK"], ["EVT_GRID_CMD_LABEL_RIGHT_CLICK", 2, "wxEVT_GRID_LABEL_RIGHT_CLICK"], -["EVT_MENU_RANGE", 1, "wxEVT_COMMAND_MENU_SELECTED"], +["EVT_MENU_RANGE", 3, "wxEVT_COMMAND_MENU_SELECTED"], ["EVT_JOY_BUTTON_DOWN", 1, "wxEVT_JOY_BUTTON_DOWN"], ["EVT_TREE_SEL_CHANGING", 2, "wxEVT_COMMAND_TREE_SEL_CHANGING"], ["EVT_FIND_CLOSE", 2, "wxEVT_COMMAND_FIND_CLOSE"], From roys at mindspring.com Mon Sep 12 16:15:04 2005 From: roys at mindspring.com (Roy Sutton) Date: Mon Sep 12 16:08:08 2005 Subject: [Wxruby-users] Generating wx headers using doxygen? In-Reply-To: <20050908224716.GB11328@portfolio16.de> References: <431EFBA1.9030006@qualitycode.com> <431F0379.2020906@qualitycode.com> <20050908214012.GA11328@portfolio16.de> <4320B2A2.8080606@qualitycode.com> <20050908224716.GB11328@portfolio16.de> Message-ID: <4325E1C8.7000203@mindspring.com> Can someone explain to me what the benefit would be to using doxygen to create XML files? Where does this get us, exactly? Roy Tobias Gruetzmacher wrote: > On Thu, Sep 08, 2005 at 05:52:34PM -0400, Kevin Smith wrote: > >> Parsing XML would be a big improvement over what we're doing now. We >> would probably have the doxygen step be optional, like our old XML >> parsing step was. I don't want to *require* doxygen to build wxruby2. >> > Yeah, you probably could ship the generated XML files, I see no problem > there. I also don't think having Doxygen as a requirement is such a good > idea ;) From wxruby at qualitycode.com Mon Sep 12 16:53:51 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Mon Sep 12 16:46:58 2005 Subject: [Wxruby-users] Generating wx headers using doxygen? In-Reply-To: <4325E1C8.7000203@mindspring.com> References: <431EFBA1.9030006@qualitycode.com> <431F0379.2020906@qualitycode.com> <20050908214012.GA11328@portfolio16.de> <4320B2A2.8080606@qualitycode.com> <20050908224716.GB11328@portfolio16.de> <4325E1C8.7000203@mindspring.com> Message-ID: <4325EADF.5050009@qualitycode.com> Roy Sutton wrote: > Can someone explain to me what the benefit would be to using doxygen to > create XML files? Where does this get us, exactly? Sure. The wx headers in swig/classes/include are not quite correct. We are stumbling along finding errors and fixing them, one by one. Different errors have different causes, including: - errors in the original wx docs which became errors in the monolithic third-party XML file that I originally used to create our wx headers. - errors caused by humans cutting and pasting either from their own true wx headers or from the wx docs. - errors caused by differences between wx on different platforms. - errors due to changes from wx 2.4 (or 2.5) to 2.6. In short, our wx headers were created, and are being maintained, through an error-prone "process". I hate error-prone processes, especially ones that require ongoing human intervention. You never really know something is correct, and even if it's correct today it might be incorrect tomorrow. The proposed alternative is to run doxygen on the *actual* current wx headers on each platform, resulting in XML files. We would then parse those XML files and output (theoretically) perfectly accurate swiggable headers for each class for each platform. That would be a one-time process. Well, it would have to be re-run any time the wx API changed on a platform, but that's fairly rare. Is it worth doing? I'm not sure. I think so, but I'm busy enough right now that I may or may not dive in to try to get it working to prove that it really would work, and would be better than what we have today. I would guess that it's about 2-5 hours of work, to: - get doxygen working on my system, - understand the resulting XML - write a ruby app to parse it into wx headers usable by our existing rakefile - update the rakefile and project tree to have multiple directories of wx class headers (one per platform) If anyone does plan to work on this, please let me know so I don't duplicate effort. I can imagine that I might find time to play with it sometime this week or next. Kevin From wxruby at qualitycode.com Mon Sep 12 20:49:13 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Mon Sep 12 20:42:19 2005 Subject: [Wxruby-users] Patches for bigdemo In-Reply-To: <4323EA59.7030800@mindspring.com> References: <4323EA59.7030800@mindspring.com> Message-ID: <43262209.8010009@qualitycode.com> Roy Sutton wrote: > Included are three patches to make the mdi demo work properly: Applied. > main.rbw: Call init_all_image_handlers (Is there any reason we > shouldn't just do this for people? Why make them call this? Is there a > downside to initializing image handlers?) Hm. I'm not certain they would all be available on all platforms. Might be some penalty in speed or memory usage. I'll add it to the TODO list as a question. This patch didn't apply cleanly. Not sure why. > wxScrolledWindow.rbw: Uncommented call to draw_spline This one did apply cleanly. > wxDC.h: Added another prototype of draw_spline so draw_spline will work > in the demo Cool. The MDI sample doesn't quite actually work for me yet. I can click on the MDI tree item, and then on the MDI button. A second window pops up. If I hit File/New Window, the app goes into its typical diagnostic/crash loop where it prints a bunch of uninteresting messages to the screen, and then pops up a dialog offering to kill the app (which may be coming from Gnome). Kevin From wxruby at qualitycode.com Mon Sep 12 21:12:24 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Mon Sep 12 21:05:25 2005 Subject: [Wxruby-users] Patch for typemap.i and Window.i In-Reply-To: <4324F2A5.1050507@mindspring.com> References: <4324F2A5.1050507@mindspring.com> Message-ID: <43262778.2060905@qualitycode.com> Roy Sutton wrote: > Added typemap for the differently-prototyped GetTextExtent. It was > %ignored in Window.i. Since I added the typemap it doesn't seem like > we'll need to %ignore it. > > Again, the patch for typemap.i is since the last check-in. Thanks. Generally I think I would prefer incremental patches, rather than combined like this. In this case, it worked out fine. Kevin From wxruby at qualitycode.com Mon Sep 12 21:19:16 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Mon Sep 12 21:12:18 2005 Subject: [Wxruby-users] Patch to wxNotebook.rbw In-Reply-To: <4324FA69.8000408@mindspring.com> References: <4324FA69.8000408@mindspring.com> Message-ID: <43262914.1040908@qualitycode.com> Roy Sutton wrote: > Patch to the notebook example to remove the call to the deprecated > NotebookSizer. It appears to work just fine without the sizer. Applied. Doesn't quite work for me. All the tabs appear to work except for the "Scroll" one, which crashes without changing the appearance of the tab. I probably need to figure out why I'm ending up in this loopy outputting situation instead of just a clean stacktrace and exit. I get about 30 lines like this: addr2line: 'wxruby': No such file before the dialog comes up offering to close the app. Turns out it's a wx dialog. Here's the error in this case: src/gtk/colour.cpp(200): assert "wxAssertFailure" failed: wxColour: couldn't find colour Kevin From roys at mindspring.com Mon Sep 12 21:27:36 2005 From: roys at mindspring.com (Roy Sutton) Date: Mon Sep 12 21:20:38 2005 Subject: [Wxruby-users] Patch to wxNotebook.rbw In-Reply-To: <43262914.1040908@qualitycode.com> References: <4324FA69.8000408@mindspring.com> <43262914.1040908@qualitycode.com> Message-ID: <43262B08.6070003@mindspring.com> Interesting. I don't have this problem. The scroll problem is the same problem you're having with the MDI, as they share the same file. This is also used for the scroll window sample. Using that one to diagnose your problems is probably best since it's the simplest use of that code. Kevin Smith wrote: > Roy Sutton wrote: >> Patch to the notebook example to remove the call to the deprecated >> NotebookSizer. It appears to work just fine without the sizer. > > Applied. > > Doesn't quite work for me. All the tabs appear to work except for the > "Scroll" one, which crashes without changing the appearance of the tab. > > I probably need to figure out why I'm ending up in this loopy > outputting situation instead of just a clean stacktrace and exit. I > get about 30 lines like this: > > addr2line: 'wxruby': No such file > > before the dialog comes up offering to close the app. Turns out it's a > wx dialog. Here's the error in this case: > > src/gtk/colour.cpp(200): assert "wxAssertFailure" failed: wxColour: > couldn't find colour > > Kevin > _______________________________________________ > wxruby-users mailing list > wxruby-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/wxruby-users > > > From wxruby at qualitycode.com Mon Sep 12 21:43:43 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Mon Sep 12 21:36:44 2005 Subject: [Wxruby-users] EvtMenuRange In-Reply-To: <4325BFF4.2030609@mindspring.com> References: <4325BFF4.2030609@mindspring.com> Message-ID: <43262ECF.5050604@qualitycode.com> Roy Sutton wrote: > Please see patched fixevents.rb and events.rb. I only fixed > EVT_MENU_RANGE. There may be other events that are also incorrect. I'm not happy with this whole system. First, with magic numbers (1, 3, 3) as flags meaning certain kinds of events. Honestly, I haven't even looked at this code enough to really understand what it's doing. I've added a TODO note to eventually try to clean it up. But I applied your patch. It looks good enough to me that if you say it's a step in the right direction, I believe you. Thanks, Kevin From roys at mindspring.com Mon Sep 12 21:51:06 2005 From: roys at mindspring.com (Roy Sutton) Date: Mon Sep 12 21:44:06 2005 Subject: [Wxruby-users] EvtMenuRange In-Reply-To: <43262ECF.5050604@qualitycode.com> References: <4325BFF4.2030609@mindspring.com> <43262ECF.5050604@qualitycode.com> Message-ID: <4326308A.3010103@mindspring.com> I 100% agree with you that it would be nice to refactor this. I was about to send a message to the list for help on this one until I discovered the stuff hiding there. There is duplicated code #IF 0'ed out in a couple other places, too. I think this is something to maybe tackle later, though. Kevin Smith wrote: > I'm not happy with this whole system. First, with magic numbers (1, 3, > 3) as flags meaning certain kinds of events. Honestly, I haven't even > looked at this code enough to really understand what it's doing. I've > added a TODO note to eventually try to clean it up. From wxruby at qualitycode.com Mon Sep 12 21:57:47 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Mon Sep 12 21:50:50 2005 Subject: [Wxruby-users] Patch to wxNotebook.rbw In-Reply-To: <43262B08.6070003@mindspring.com> References: <4324FA69.8000408@mindspring.com> <43262914.1040908@qualitycode.com> <43262B08.6070003@mindspring.com> Message-ID: <4326321B.5030301@qualitycode.com> Roy Sutton wrote: > Interesting. I don't have this problem. The scroll problem is the same > problem you're having with the MDI, as they share the same file. This > is also used for the scroll window sample. Using that one to diagnose > your problems is probably best since it's the simplest use of that code. Thanks for the tip. The problem was our request to create a pen with a colour of "greem" instead of "green". The scrolled window now comes up for me. If I click in it (to draw a line), it segfaults. But at least it's probably working as well for me as it did for you. I wonder why greem worked on your system. Kevin From roys at mindspring.com Mon Sep 12 22:02:57 2005 From: roys at mindspring.com (Roy Sutton) Date: Mon Sep 12 21:55:56 2005 Subject: [Wxruby-users] Big Demo Message-ID: <43263351.1070208@mindspring.com> The big demo has several things commented out. Some things refer to files that either weren't ported (never existed) or referenced things we haven't implemented yet. Are there more source files to go with this sample? Roy From roys at mindspring.com Mon Sep 12 22:06:46 2005 From: roys at mindspring.com (Roy Sutton) Date: Mon Sep 12 21:59:47 2005 Subject: [Wxruby-users] Patch to wxNotebook.rbw In-Reply-To: <4326321B.5030301@qualitycode.com> References: <4324FA69.8000408@mindspring.com> <43262914.1040908@qualitycode.com> <43262B08.6070003@mindspring.com> <4326321B.5030301@qualitycode.com> Message-ID: <43263436.1070704@mindspring.com> I don't know the answer to why it doesn't crash on Windows. I do know about the crash when you click in it. I have a pretty long list of things to tackle still. I'm feeling pretty good about this so far, though. I don't think I sent in the patch to make the menu sample work yet. I had to comment out the call to set_bitmap in there. set_bitmap is perfectly acceptable on Windows and GTK+ but it won't work elsewhere. Do we want to add a conditional both to the demo source and to header files so people who can use it will have access to it? Roy Kevin Smith wrote: > Roy Sutton wrote: >> Interesting. I don't have this problem. The scroll problem is the >> same problem you're having with the MDI, as they share the same >> file. This is also used for the scroll window sample. Using that >> one to diagnose your problems is probably best since it's the >> simplest use of that code. > > Thanks for the tip. The problem was our request to create a pen with a > colour of "greem" instead of "green". The scrolled window now comes up > for me. If I click in it (to draw a line), it segfaults. But at least > it's probably working as well for me as it did for you. > > I wonder why greem worked on your system. > > Kevin > _______________________________________________ > wxruby-users mailing list > wxruby-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/wxruby-users > > > From wxruby at qualitycode.com Mon Sep 12 22:11:04 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Mon Sep 12 22:04:06 2005 Subject: [Wxruby-users] Tagged wxruby2 v0.0.29, plus added more directors In-Reply-To: References: <4322682E.9010202@qualitycode.com> <4322EC3F.5080801@qualitycode.com> Message-ID: <43263538.3020700@qualitycode.com> Sean Long wrote: >>>I had to change FontDialog.i back to how it was before to get it to >>>compile on OS X. >> >>I haven't applied this, because we *really* need directors to work. Can >>you paste in the compile errors you are seeing so we can try to fix them? >> > > > Here is the output I get: > src/FontDialog.cpp: In constructor > 'SwigDirector_wxFontDialog::SwigDirector_wxFontDialog(VALUE, > wxWindow*)': > src/FontDialog.cpp:1145: error: no matching function for call to > 'wxGenericFontDialog::wxGenericFontDialog(wxWindow*&)' Ok. I just checked in a fix that omits that constructor on Mac. It's just another platform-specific variation. Let me know if this fixes it for you. If not, it's probably something silly I did that you could fix yourself. Thanks, Kevin From wxruby at qualitycode.com Mon Sep 12 22:13:36 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Mon Sep 12 22:06:38 2005 Subject: [Wxruby-users] Patch to wxNotebook.rbw In-Reply-To: <43263436.1070704@mindspring.com> References: <4324FA69.8000408@mindspring.com> <43262914.1040908@qualitycode.com> <43262B08.6070003@mindspring.com> <4326321B.5030301@qualitycode.com> <43263436.1070704@mindspring.com> Message-ID: <432635D0.9090304@qualitycode.com> Roy Sutton wrote: > I don't know the answer to why it doesn't crash on Windows. I do know > about the crash when you click in it. I have a pretty long list of > things to tackle still. I'm feeling pretty good about this so far, though. Definitely. All your work on bigdemo is really great. > I don't think I sent in the patch to make the menu sample work yet. I > had to comment out the call to set_bitmap in there. set_bitmap is > perfectly acceptable on Windows and GTK+ but it won't work elsewhere. > Do we want to add a conditional both to the demo source and to header > files so people who can use it will have access to it? That sounds like the best approach to me. Thanks, Kevin From wxruby at qualitycode.com Mon Sep 12 22:15:41 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Mon Sep 12 22:08:47 2005 Subject: [Wxruby-users] Big Demo In-Reply-To: <43263351.1070208@mindspring.com> References: <43263351.1070208@mindspring.com> Message-ID: <4326364D.5040806@qualitycode.com> Roy Sutton wrote: > The big demo has several things commented out. Some things refer to > files that either weren't ported (never existed) or referenced things we > haven't implemented yet. Are there more source files to go with this > sample? Nope. And I haven't heard back from the author when I emailed him recently. Robert's message (which should be in the wxruby list archives) back on 2004-07-02 said "I haven't completed the demo 100%, but I think it is in a good "beta" state to be released to the wxruby community." Kevin From wxruby at qualitycode.com Mon Sep 12 22:31:49 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Mon Sep 12 22:24:53 2005 Subject: [Wxruby-users] Crashing when clicking in grid cell (was: Tagged wxruby2 v0.0.29, plus added more directors) In-Reply-To: References: <4322682E.9010202@qualitycode.com> <4322EC3F.5080801@qualitycode.com> Message-ID: <43263A15.6060602@qualitycode.com> Sean Long wrote: > The rb_funcall is being called recursively like you said it might. Ick. > (I know that wxGridTableBase.h is not currently run through swig but I > cleaned up the *.h for it anyway) Ah. There's a pretty good chance that this is the problem. If you could create a .i file for it, I would definitely appreciate it. If that doesn't solve it, could you create a tiny sample that demonstrates the problem? That would make it easier for me to debug. You could start with the bigdemo grid sample if you want, although something even smaller would be ideal. Thanks, Kevin From wxruby at qualitycode.com Mon Sep 12 22:39:26 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Mon Sep 12 22:32:29 2005 Subject: [Wxruby-users] Crashing when clicking in grid cell In-Reply-To: <43263A15.6060602@qualitycode.com> References: <4322682E.9010202@qualitycode.com> <4322EC3F.5080801@qualitycode.com> <43263A15.6060602@qualitycode.com> Message-ID: <43263BDE.3030907@qualitycode.com> Kevin Smith wrote: > Sean Long wrote: > >> (I know that wxGridTableBase.h is not currently run through swig but I >> cleaned up the *.h for it anyway) > > Ah. There's a pretty good chance that this is the problem. If you could > create a .i file for it, I would definitely appreciate it. If that > doesn't solve it, could you create a tiny sample that demonstrates the > problem? That would make it easier for me to debug. You could start with > the bigdemo grid sample if you want, although something even smaller > would be ideal. Actually, I meant to say "create a .i file for it, and integrate it into the parent hierarchy as appropriate". But looking more at it, it's not obvious to me how it it actually used. Does wxGrid use a wxGridStringTable by default? I no longer suspect GridTableBase, although it would be cool if we could wrap it. But only if we also have a sample that shows how it would be used. I still suspect that the problem is a virtual method somewhere that is not indicated as being virtual (or perhaps one that isn't virtual but we have it flagged as being virtual). It could be in any class, if the call stack from get_default_editor goes through it. A small sample is definitely going to help narrow it down. Kevin From wxruby at qualitycode.com Mon Sep 12 22:40:14 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Mon Sep 12 22:33:14 2005 Subject: Grid patches (was: Re: [Wxruby-users] Tagged wxruby2 v0.0.29, plus added more directors) In-Reply-To: References: <4322682E.9010202@qualitycode.com> <4322EC3F.5080801@qualitycode.com> Message-ID: <43263C0E.6030101@qualitycode.com> Sean Long wrote: > I cleaned up a whole bunch of the Grid related code but it has not > solved this problem, but atleast it is helping the project along ;) Forgot to say: "Applied, thanks!" Kevin From wxruby at qualitycode.com Mon Sep 12 22:54:35 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Mon Sep 12 22:47:39 2005 Subject: [Wxruby-users] Handling int pointer parameters In-Reply-To: <43248559.1000601@mindspring.com> References: <43248559.1000601@mindspring.com> Message-ID: <43263F6B.7040405@qualitycode.com> Roy Sutton wrote: > There are several functions that take the parameters (int *x, int *y) > > In some cases x & y are simply return values. In some cases x & y are > both input and output. How are we going to handle this properly? Seems like we need to flag them in each .i file, instead of relying on generic typemaps. > One > method would be to change the header files to something like xin or > xout. I don't really like that method as it'll break as soon as header > files change. Agreed. > I was checking to see if we could apply a typemap based > off a specific regexp, but I don't see a way to do that. > > Any thoughts? It would help if you could list a couple methods of each type (inout or outonly). I'm not sure if %apply will help us cut some of the duplicate code. Other than that, nothing jumps out at me. Kevin From roys at mindspring.com Mon Sep 12 23:39:17 2005 From: roys at mindspring.com (Roy Sutton) Date: Mon Sep 12 23:33:11 2005 Subject: [Wxruby-users] Handling int pointer parameters In-Reply-To: <43263F6B.7040405@qualitycode.com> References: <43248559.1000601@mindspring.com> <43263F6B.7040405@qualitycode.com> Message-ID: <432649E5.2030306@mindspring.com> The crash when you click on the scroll window example is caused by GetViewStart which takes two int pointers to return the coordinate. http://www.wxwindows.org/manuals/2.6.1/wx_wxscrolledwindow.html#wxscrolledwindowgetviewstart An example of one where the two pointers are used as parameters: http://www.wxwindows.org/manuals/2.6.1/wx_wxwindow.html#wxwindowclienttoscreen Roy Kevin Smith wrote: > Roy Sutton wrote: >> There are several functions that take the parameters (int *x, int *y) >> >> In some cases x & y are simply return values. In some cases x & y >> are both input and output. How are we going to handle this properly? > > Seems like we need to flag them in each .i file, instead of relying on > generic typemaps. > >> One method would be to change the header files to something like xin >> or xout. I don't really like that method as it'll break as soon as >> header files change. > > Agreed. > >> I was checking to see if we could apply a typemap based off a >> specific regexp, but I don't see a way to do that. >> >> Any thoughts? > > It would help if you could list a couple methods of each type (inout > or outonly). > > I'm not sure if %apply will help us cut some of the duplicate code. > Other than that, nothing jumps out at me. > > Kevin > _______________________________________________ > wxruby-users mailing list > wxruby-users@rubyforge.org > http://rubyforge.org/mailman/listinfo/wxruby-users > > > From roys at mindspring.com Tue Sep 13 01:21:54 2005 From: roys at mindspring.com (Roy Sutton) Date: Tue Sep 13 01:14:58 2005 Subject: [Wxruby-users] Swig hates us... Message-ID: <432661F2.5060207@mindspring.com> Swig is making mincemeat out of ComboBox.new. Because of the way it's picking the 'correct' one to call it's calling with a null name instead of a default name. How did we fix this before? From sean.m.long at gmail.com Tue Sep 13 02:09:17 2005 From: sean.m.long at gmail.com (Sean Long) Date: Tue Sep 13 02:02:07 2005 Subject: [Wxruby-users] Tagged wxruby2 v0.0.29, plus added more directors In-Reply-To: <43263538.3020700@qualitycode.com> References: <4322682E.9010202@qualitycode.com> <4322EC3F.5080801@qualitycode.com> <43263538.3020700@qualitycode.com> Message-ID: > Ok. I just checked in a fix that omits that constructor on Mac. It's > just another platform-specific variation. > > Let me know if this fixes it for you. If not, it's probably something > silly I did that you could fix yourself. Works. I should have saw that, I guess that is what I get when I only work on the Mac version late at night. Sean From sean.m.long at gmail.com Tue Sep 13 02:15:13 2005 From: sean.m.long at gmail.com (Sean Long) Date: Tue Sep 13 02:08:06 2005 Subject: [Wxruby-users] Crashing when clicking in grid cell In-Reply-To: <43263BDE.3030907@qualitycode.com> References: <4322682E.9010202@qualitycode.com> <4322EC3F.5080801@qualitycode.com> <43263A15.6060602@qualitycode.com> <43263BDE.3030907@qualitycode.com> Message-ID: > But looking more at it, it's not obvious to me how it it actually used. > Does wxGrid use a wxGridStringTable by default? Not sure. > I no longer suspect GridTableBase, although it would be cool if we could > wrap it. But only if we also have a sample that shows how it would be used. In all my years using wxWidgets I have never used GridTableBase directly so I am not going to mess with it any more than I have. I do not think the problem is located there anyway. > A small sample is definitely going to help narrow it down. I might write a small sample this week, but not tonight. Sean From sean.m.long at gmail.com Tue Sep 13 02:40:44 2005 From: sean.m.long at gmail.com (Sean Long) Date: Tue Sep 13 02:33:37 2005 Subject: [Wxruby-users] TextValidator added Message-ID: Here are the patches needed to add TextValidator. I actually did this one a while back and forgot about it until I needed it today. Sean -------------- next part -------------- A non-text attachment was scrubbed... Name: TextValidator.zip Type: application/zip Size: 3690 bytes Desc: not available Url : http://rubyforge.org/pipermail/wxruby-users/attachments/20050912/08859a8d/TextValidator.zip From roys at mindspring.com Tue Sep 13 03:39:47 2005 From: roys at mindspring.com (Roy Sutton) Date: Tue Sep 13 03:32:48 2005 Subject: [Wxruby-users] Rect.i and patch for wxRect.h Message-ID: <43268243.3020506@mindspring.com> These files implement the wxRect class. I couldn't think of any particular reason not to implement this. Roy -------------- next part -------------- --- wxruby2_old/swig/classes/include/wxRect.h 2005-01-16 02:43:22.000000000 -0500 +++ wxruby2/swig/classes/include/wxRect.h 2005-09-13 03:31:38.749030400 -0400 @@ -179,6 +179,10 @@ */ void SetY(int y ) ; + + // Missing from XML + int x, y; + int width, height; }; -------------- next part -------------- # Copyright 2004-2005 by Kevin Smith # released under the MIT-style wxruby2 license %include "../common.i" %module(directors="1") wxRect %include "include/wxRect.h" From roys at mindspring.com Tue Sep 13 03:51:06 2005 From: roys at mindspring.com (Roy Sutton) Date: Tue Sep 13 03:44:11 2005 Subject: [Wxruby-users] Implementation for Timer and TimerEvent Message-ID: <432684EA.4040705@mindspring.com> These files implement the Timer. There's also a patch to introduce EVT_TIMER Roy -------------- next part -------------- # Copyright 2004-2005 by Kevin Smith # released under the MIT-style wxruby2 license %include "../common.i" %module(directors="1") wxTimer; %{ #include %} GC_NEVER(wxTimer); %import "include/wxObject.h" %import "include/wxEvtHandler.h" %include "include/wxTimer.h" -------------- next part -------------- # Copyright 2004-2005 by Kevin Smith # released under the MIT-style wxruby2 license %include "../common.i" %module(directors="1") wxTimerEvent %{ #include %} %import "include/wxObject.h" %import "include/wxEvent.h" %include "include/wxTimerEvent.h" -------------- next part -------------- --- wxruby2_old/swig/classes/include/events.rb 2005-09-12 13:39:13.401147200 -0400 +++ wxruby2/swig/classes/include/events.rb 2005-09-13 03:10:59.066454400 -0400 @@ -206,4 +206,5 @@ ["EVT_JOY_BUTTON_UP", 1, "wxEVT_JOY_BUTTON_UP"], ["EVT_TASKBAR_MOVE", 1, "wxEVT_TASKBAR_MOVE"], ["EVT_KILL_FOCUS", 1, "wxEVT_KILL_FOCUS"], +["EVT_TIMER", 2, "wxEVT_TIMER"], ] From roys at mindspring.com Tue Sep 13 04:19:18 2005 From: roys at mindspring.com (Roy Sutton) Date: Tue Sep 13 04:12:24 2005 Subject: [Wxruby-users] Patch to RubyConstants.i Message-ID: <43268B86.1040405@mindspring.com> This patch does two things: 1) puts in the enums (+ Ruby aliases) for the TreeCtrl icon settings 2) Removes a redundant definition of wxCURSOR_DEFAULT, eliminating a compiler warning on Windows Roy -------------- next part -------------- --- wxruby2_old/swig/RubyConstants.i 2005-09-09 23:30:02.000000000 -0400 +++ wxruby2/swig/RubyConstants.i 2005-09-13 04:16:14.356364800 -0400 @@ -12,14 +12,12 @@ #include #include #include +#include // // All of these exist on only one platform, so in those // cases I'm defining them so the compiler doesn't freak out // -#ifndef __WXGTK__ -#define wxCURSOR_DEFAULT 0 -#endif #ifndef __WXMAC__ #define wxCURSOR_COPY_ARROW 0 #endif @@ -1409,6 +1407,16 @@ // Start constants from wx/treebase.h //** ---------------------------------------------------------------------------- ** +// enum for different images associated with a treectrl item +enum wxTreeItemIcon +{ + wxTreeItemIcon_Normal, // not selected, not expanded + wxTreeItemIcon_Selected, // selected, not expanded + wxTreeItemIcon_Expanded, // not selected, expanded + wxTreeItemIcon_SelectedExpanded, // selected, expanded + wxTreeItemIcon_Max +}; + // tree constants #define wxTR_NO_BUTTONS 0x0000 // for convenience #define wxTR_HAS_BUTTONS 0x0001 // draw collapsed/expanded btns @@ -1920,3 +1928,9 @@ %constant const int NOT_FOUND = -1; %constant const char * wxEmptyString = ""; + +%constant const int TREE_ITEM_ICON_NORMAL = wxTreeItemIcon_Normal; +%constant const int TREE_ITEM_ICON_SELECTED = wxTreeItemIcon_Selected; +%constant const int TREE_ITEM_ICON_EXPANDED = wxTreeItemIcon_Expanded; +%constant const int TREE_ITEM_ICON_SELECTED_EXPANDED = wxTreeItemIcon_SelectedExpanded; +%constant const int TREE_ITEM_ICON_MAX = wxTreeItemIcon_Max; From roys at mindspring.com Tue Sep 13 04:30:28 2005 From: roys at mindspring.com (Roy Sutton) Date: Tue Sep 13 04:23:37 2005 Subject: [Wxruby-users] LayoutConstraints Message-ID: <43268E24.2040005@mindspring.com> LayoutConstraint examples don't seem to be working currently. Given that they're deprecated, do we want to just remove the class and give up on debugging it? From roys at mindspring.com Tue Sep 13 23:55:30 2005 From: roys at mindspring.com (Roy Sutton) Date: Tue Sep 13 23:48:23 2005 Subject: [Wxruby-users] Patches I forgot to send last night, pt. 1 Message-ID: <43279F32.8030600@mindspring.com> Patch for RubyConstants.i to add ImageList constants -------------- next part -------------- C:\RubyDev>diff -b -u wxruby2_old/swig/Rubyconstants.i wxruby2/swig/Rubyconstants.i --- wxruby2_old/swig/Rubyconstants.i 2005-09-13 04:16:14.356364800 -0400 +++ wxruby2/swig/Rubyconstants.i 2005-09-13 05:06:12.647696000 -0400 @@ -13,6 +13,7 @@ #include #include #include +#include // // All of these exist on only one platform, so in those @@ -1800,7 +1801,7 @@ // Start constants from wx/fdrepdlg.h //** ---------------------------------------------------------------------------- ** -// flages used by wxFindDialogEvent::GetFlags() +// flags used by wxFindDialogEvent::GetFlags() enum wxFindReplaceFlags { // downward search/replace selected (otherwise - upwards) @@ -1829,6 +1830,23 @@ }; //** ---------------------------------------------------------------------------- ** +// Start constants from wx/imaglist.h +//** ---------------------------------------------------------------------------- ** + +// Flags for Draw +#define wxIMAGELIST_DRAW_NORMAL 0x0001 +#define wxIMAGELIST_DRAW_TRANSPARENT 0x0002 +#define wxIMAGELIST_DRAW_SELECTED 0x0004 +#define wxIMAGELIST_DRAW_FOCUSED 0x0008 + +// Flag values for Set/GetImageList +enum { + wxIMAGE_LIST_NORMAL, // Normal icons + wxIMAGE_LIST_SMALL, // Small icons + wxIMAGE_LIST_STATE // State icons: unimplemented (see WIN32 documentation) +}; + +//** ---------------------------------------------------------------------------- ** // Start SWIG fixes for constants //** ---------------------------------------------------------------------------- ** From roys at mindspring.com Wed Sep 14 00:19:56 2005 From: roys at mindspring.com (Roy Sutton) Date: Wed Sep 14 00:12:48 2005 Subject: [Wxruby-users] Patches I missed, pt. 2 Message-ID: <4327A4EC.1030307@mindspring.com> StatusBar.i -- Adds a typemap to return a wxRect structure. You'll really want to go over this to make sure it's correct. I don't have a sample but it did make part of one of the bigdemo samples work a little better. If you want to put this on the back-burner until we have a chance to test it more fully I'd understand completely. One of the things I'm not so sure of is how we keep this typemap from affecting other possible wxRect functions. There are a lot of functions that need this typemap and we can segregate it out to only certain .i files... But I know it will conflict with one of the ones that takes a Rect as an input parameter. At some point, I'll get around to applying and testing this with the other Get*Rect functions. Roy -------------- next part -------------- C:\RubyDev>diff -b -u wxruby2_old/swig/classes/StatusBar.i wxruby2/swig/classes/StatusBar.i --- wxruby2_old/swig/classes/StatusBar.i 2005-08-20 22:36:30.000000000 -0400 +++ wxruby2/swig/classes/StatusBar.i 2005-09-13 02:04:15.920212800 -0400 @@ -9,6 +9,22 @@ #include %} +%typemap(in,numinputs=0) (wxRect& rect) +{ + $1 = new wxRect; +} + +%typemap(argout) (wxRect& rect) +{ + if(result) + $result = SWIG_NewPointerObj($1, SWIGTYPE_p_wxRect, 0); + else { + free($1); + $result = Qnil; + } +} + + %typemap(in,numinputs=1) (int n, int *widths) (int *arr){ if (($input == Qnil) || (TYPE($input) != T_ARRAY)) { From roys at mindspring.com Wed Sep 14 00:22:02 2005 From: roys at mindspring.com (Roy Sutton) Date: Wed Sep 14 00:14:53 2005 Subject: [Wxruby-users] Part 3 Message-ID: <4327A56A.2090407@mindspring.com> Window.i patch to remove the %ignore for GetFont. Not sure why it was ignored. GetFont is needed by one of the samples. -------------- next part -------------- C:\RubyDev>diff -b -u wxruby2_old/swig/classes/Window.i wxruby2/swig/classes/Window.i --- wxruby2_old/swig/classes/Window.i 2005-09-11 22:44:23.879406400 -0400 +++ wxruby2/swig/classes/Window.i 2005-09-12 23:46:20.200312000 -0400 @@ -7,7 +7,6 @@ %ignore wxWindow::Clear; %ignore wxWindow::GetAccessible; -%ignore wxWindow::GetFont; %ignore wxWindow::GetChildren; %ignore wxWindow::PopEventHandler; # %ignore wxWindow::SetCaret; From roys at mindspring.com Wed Sep 14 00:28:17 2005 From: roys at mindspring.com (Roy Sutton) Date: Wed Sep 14 00:21:11 2005 Subject: [Wxruby-users] Part 4 Message-ID: <4327A6E1.1080802@mindspring.com> wxMenuItem.h patch This patch adds in some platform-specific functions, #if defined out so it should compile properly on other platforms. Note: This will get a couple demos working properly on Windows and GTK. The demos will need to have platform specific calls in there. Roy -------------- next part -------------- C:\RubyDev>diff -b -u wxruby2_old/swig/classes/include/wxMenuItem.h wxruby2/swig/classes/include/wxMenuItem.h --- wxruby2_old/swig/classes/include/wxMenuItem.h 2005-08-11 09:57:04.000000000 -0400 +++ wxruby2/swig/classes/include/wxMenuItem.h 2005-09-13 00:34:51.146046400 -0400 @@ -125,18 +125,34 @@ */ bool IsSeparator(); + +#if defined(__WXMSW__) /** * \brief Sets the background colour associated with the menu item (Windows only). * \param const wxColour& */ + void SetBackgroundColour(const wxColour& colour); +#endif + +#if defined(__WXMSW__) || defined (__WXGTK__) + void SetBitmap(const wxBitmap& bmp); +#endif + +#if defined(__WXMSW__) + void SetBitmaps(const wxBitmap& checked, const wxBitmap& unchecked = wxNullBitmap); + void SetFont(const wxFont& font); +#endif void SetHelp(const wxString& str); + +#if defined(__WXMSW__) /** * \brief Sets the width of the menu item checkmark bitmap (Windows only). * \param int */ - + void SetMarginWidth(int width); +#endif /** * \brief Sets the text associated with the menu item. @@ -144,10 +160,14 @@ */ void SetText(const wxString& strName); + +#if defined(__WXMSW__) /** * \brief Sets the text colour associated with the menu item (Windows only). * \param const wxColour& */ + void SetTextColour(const wxColour& colour); +#endif wxMenu *GetMenu(); void SetMenu(wxMenu* menu); From roys at mindspring.com Wed Sep 14 00:31:03 2005 From: roys at mindspring.com (Roy Sutton) Date: Wed Sep 14 00:23:55 2005 Subject: [Wxruby-users] Part 5 Message-ID: <4327A787.7030305@mindspring.com> This patch to wxWindow.h adds a Windows-specific function 'RegisterhotKey'. No demos use it. I didn't test to see if it worked. Why did I add it? I don't know. This type of thing would likely be fixed by the doxygen stuff, if we ever went down that path. Roy P.S. This is the last one -------------- next part -------------- C:\RubyDev>diff -b -u wxruby2_old/swig/classes/include/wxWindow.h wxruby2/swig/classes/include/wxWindow.h --- wxruby2_old/swig/classes/include/wxWindow.h 2005-08-24 19:08:24.000000000 -0400 +++ wxruby2/swig/classes/include/wxWindow.h 2005-09-12 23:57:02.263553600 -0400 @@ -734,6 +734,10 @@ * \brief */ +#ifdef __WXMSW__ + bool RegisterHotKey(int hotkeyId, int modifiers, int virtualKeyCode); +#endif + virtual void ReleaseMouse() ; /** * \brief Removes a child window. This is called automatically by window deletion From roys at mindspring.com Thu Sep 15 02:52:11 2005 From: roys at mindspring.com (Roy Sutton) Date: Thu, 15 Sep 2005 02:52:11 -0400 Subject: [Wxruby-users] wxScintilla Message-ID: <43291A1B.3060104@mindspring.com> I was fiddling around with wxScintilla tonight and I added it to wxRuby. I haven't gotten it really nicely integrated since I wanted to make it an optional component. Nicely, wxScintilla was built with SWIG in mind so [most] everything swigged beautifully after a little touch-up. I may fiddle with this some more if you guys think it would be worth adding to wxRuby2. Any thoughts? From sean.m.long at gmail.com Thu Sep 15 03:31:28 2005 From: sean.m.long at gmail.com (Sean Long) Date: Thu, 15 Sep 2005 00:31:28 -0700 Subject: [Wxruby-users] wxScintilla In-Reply-To: <43291A1B.3060104@mindspring.com> References: <43291A1B.3060104@mindspring.com> Message-ID: I think it would be a great optional component. I currently don't have a need but I love having the option. Sean On 9/14/05, Roy Sutton wrote: > I was fiddling around with wxScintilla tonight and I added it to > wxRuby. I haven't gotten it really nicely integrated since I wanted to > make it an optional component. Nicely, wxScintilla was built with SWIG > in mind so [most] everything swigged beautifully after a little > touch-up. I may fiddle with this some more if you guys think it would > be worth adding to wxRuby2. > > Any thoughts? > > _______________________________________________ > wxruby-users mailing list > wxruby-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/wxruby-users > From roys at mindspring.com Thu Sep 15 04:40:46 2005 From: roys at mindspring.com (Roy Sutton) Date: Thu, 15 Sep 2005 04:40:46 -0400 Subject: [Wxruby-users] wxScintilla vs. StyledTextControl Message-ID: <4329338E.3020406@mindspring.com> There is a contribution called 'stc' (StyledTextControl) that comes with wxWidgets. It appears that this is -also- a wrapper around Scintilla. I can't tell if one or the other of these two is a better choice or if there's a particular reason to favor one over the other. I can see that having the source available right there in the contrib directory would make things a lot easier. I will investigate stc some more to see what's what with it. Roy From roys at mindspring.com Thu Sep 15 05:53:26 2005 From: roys at mindspring.com (Roy Sutton) Date: Thu, 15 Sep 2005 05:53:26 -0400 Subject: [Wxruby-users] wxScintilla vs. StyledTextControl In-Reply-To: <4329338E.3020406@mindspring.com> References: <4329338E.3020406@mindspring.com> Message-ID: <43294496.2010301@mindspring.com> The two appear pretty similar on the outside. The main differences are: 1) wxScintilla appears to be actively maintained and is on the current version of Scintilla (1.65 vs. stc's 1.62) 2) wxScintilla has a nice, SWIG-friendly .H file 3) stc is included with wxWindows, wxScintilla is not. My preference, at this point, is to go with wxScintilla. Given that both are optional components and the implementation difficulty of one is much higher than the other I don't see that it's a bad choice. If someone wants to weigh in on this with some other ideas though, I'm all ears. Here's the link to wxScintilla's download page: https://sourceforge.net/project/showfiles.php?group_id=51305&package_id=45182 It's part of wxCode: http://wxcode.sourceforge.net/ Roy Roy Sutton wrote: > There is a contribution called 'stc' (StyledTextControl) that comes with > wxWidgets. It appears that this is -also- a wrapper around Scintilla. > I can't tell if one or the other of these two is a better choice or if > there's a particular reason to favor one over the other. I can see that > having the source available right there in the contrib directory would > make things a lot easier. > > I will investigate stc some more to see what's what with it. > > Roy From wxruby at qualitycode.com Thu Sep 15 09:35:20 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Thu, 15 Sep 2005 09:35:20 -0400 Subject: [Wxruby-users] wxScintilla vs. StyledTextControl In-Reply-To: <43294496.2010301@mindspring.com> References: <4329338E.3020406@mindspring.com> <43294496.2010301@mindspring.com> Message-ID: <43297898.4070203@qualitycode.com> Roy Sutton wrote: > I was fiddling around with wxScintilla tonight and I added it to wxRuby. Very cool. > I haven't gotten it really nicely integrated since I wanted to > make it an optional component. Based on my limited understanding, I think it must be optional. > I may fiddle with this some more if you guys think it would > be worth adding to wxRuby2. Traditionally, it has been a popular wxruby request. And I believe it would be necessary for freeride to even consider switching to wxruby. I think someone created wxScintilla support for wxruby 0.6, but I'm not sure. > The two appear pretty similar on the outside. The main differences are: > > 1) wxScintilla appears to be actively maintained and is on the current > version of Scintilla (1.65 vs. stc's 1.62) That sounds like a fairly strong reason to prefer wxScintilla. > 2) wxScintilla has a nice, SWIG-friendly .H file Likewise. > 3) stc is included with wxWindows, wxScintilla is not. Oh. Hmm. See below. > My preference, at this point, is to go with wxScintilla. Given that > both are optional components and the implementation difficulty of one is > much higher than the other I don't see that it's a bad choice. If > someone wants to weigh in on this with some other ideas though, I'm all > ears. Could you describe the actual process that would need to happen to support either of them? Would this be a wxruby-compile-time choice? Would we always build the wxruby parts but they might or might not work depending on whether the wxScintilla library existed? Or would it be an entirely separate ruby-require library? Then, when I understand the basics, could you describe any differences in that process depending on which of the two approaches we took? Thanks, Kevin From wxruby at qualitycode.com Thu Sep 15 09:35:52 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Thu, 15 Sep 2005 09:35:52 -0400 Subject: [Wxruby-users] LayoutConstraints In-Reply-To: <43268E24.2040005@mindspring.com> References: <43268E24.2040005@mindspring.com> Message-ID: <432978B8.2040004@qualitycode.com> Roy Sutton wrote: > LayoutConstraint examples don't seem to be working currently. Given > that they're deprecated, do we want to just remove the class and give up > on debugging it? If it's deprecated, I strongly vote for dropping it. Kevin From wxruby at qualitycode.com Thu Sep 15 09:38:11 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Thu, 15 Sep 2005 09:38:11 -0400 Subject: [Wxruby-users] ComboBox.new optional parameter handling (was: Swig hates us...) In-Reply-To: <432661F2.5060207@mindspring.com> References: <432661F2.5060207@mindspring.com> Message-ID: <43297943.7020007@qualitycode.com> Roy Sutton wrote: > Swig is making mincemeat out of ComboBox.new. Because of the way it's > picking the 'correct' one to call it's calling with a null name instead > of a default name. How did we fix this before? In the other case, the ArrayInt (or ArrayString) version of the constructor was used in all cases where there were a potentially confusing number of parameters. Can you show a sample call to ComboBox.new that generates the wrong result? It's usually easier for me to deal with questions like this when I have a specific example to analyze/debug. Thanks, Kevin From roys at mindspring.com Thu Sep 15 09:59:40 2005 From: roys at mindspring.com (Roy Sutton) Date: Thu, 15 Sep 2005 09:59:40 -0400 Subject: [Wxruby-users] ComboBox.new optional parameter handling In-Reply-To: <43297943.7020007@qualitycode.com> References: <432661F2.5060207@mindspring.com> <43297943.7020007@qualitycode.com> Message-ID: <43297E4C.4040604@mindspring.com> Well, any of the bigdemo samples that include the ComboBox. I think that's wxComboBox.rbw and wxToolBar.rbw. The problem with the arrayString version is there're no default parameters, IIRC. Kevin Smith wrote: > Roy Sutton wrote: > >> Swig is making mincemeat out of ComboBox.new. Because of the way it's >> picking the 'correct' one to call it's calling with a null name instead >> of a default name. How did we fix this before? >> > > In the other case, the ArrayInt (or ArrayString) version of the > constructor was used in all cases where there were a potentially > confusing number of parameters. > > Can you show a sample call to ComboBox.new that generates the wrong > result? It's usually easier for me to deal with questions like this when > I have a specific example to analyze/debug. > > Thanks, > > Kevin > _______________________________________________ > wxruby-users mailing list > wxruby-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/wxruby-users > > > > From roys at mindspring.com Thu Sep 15 10:10:47 2005 From: roys at mindspring.com (Roy Sutton) Date: Thu, 15 Sep 2005 10:10:47 -0400 Subject: [Wxruby-users] wxScintilla vs. StyledTextControl In-Reply-To: <43297898.4070203@qualitycode.com> References: <4329338E.3020406@mindspring.com> <43294496.2010301@mindspring.com> <43297898.4070203@qualitycode.com> Message-ID: <432980E7.5020506@mindspring.com> The way I implemented it so far is to require you to set an environment variable pointing to the wxScintilla install directory. If this environment variable is set, the rake files include the appropriate lib and include file. It also sets a define WXSCINTILLA that I have used to #ifdef some code to support the library. If you don't set this then it will ignore Scintilla. The way I have it right now it's still not quite 100%. I need to remove the Scintilla.i file from classes and have it parsed from elsewhere so it doesn't get automatically included. Aside from that, it's ready to go, AFAIK. Since my earlier post I hooked up all the events and the ScintillaEvent type and made an example editor that really doesn't do much useful except show off a few things. Roy Kevin Smith wrote: > Could you describe the actual process that would need to happen to > support either of them? Would this be a wxruby-compile-time choice? > Would we always build the wxruby parts but they might or might not work > depending on whether the wxScintilla library existed? Or would it be an > entirely separate ruby-require library? > > Then, when I understand the basics, could you describe any differences > in that process depending on which of the two approaches we took? > From wxruby at qualitycode.com Thu Sep 15 16:00:38 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Thu, 15 Sep 2005 16:00:38 -0400 Subject: [Wxruby-users] wxScintilla vs. StyledTextControl In-Reply-To: <432980E7.5020506@mindspring.com> References: <4329338E.3020406@mindspring.com> <43294496.2010301@mindspring.com> <43297898.4070203@qualitycode.com> <432980E7.5020506@mindspring.com> Message-ID: <4329D2E6.4070501@qualitycode.com> Roy Sutton wrote: > The way I implemented it so far is to require you to set an environment > variable pointing to the wxScintilla install directory. If this > environment variable is set, the rake files include the appropriate lib > and include file. It also sets a define WXSCINTILLA that I have used to > #ifdef some code to support the library. If you don't set this then it > will ignore Scintilla. The way I have it right now it's still not quite > 100%. I need to remove the Scintilla.i file from classes and have it > parsed from elsewhere so it doesn't get automatically included. Aside > from that, it's ready to go, AFAIK. Hm. Ok. I think the easiest thing for Scintilla.i would be to just have conditionals (%if or #if?) in it such that effectively becomes empty if scintilla isn't wanted. I think an empty .i file is harmless. It sure would be nice if we could make it a run-time option instead of compile-time. If that's really not possible, then would we have two binary wxruby releases on each platform, one with it and one without? Or maybe wxRubyScintilla should be its own separate project, or at least its own separate dll/so target. That way, if you require it, it would link in happily, but if you don't, it would not require the underlying wxScintilla library to be present. > Since my earlier post I hooked up all the events and the ScintillaEvent > type and made an example editor that really doesn't do much useful > except show off a few things. Cool. Kevin From roys at mindspring.com Thu Sep 15 16:12:46 2005 From: roys at mindspring.com (Roy Sutton) Date: Thu, 15 Sep 2005 16:12:46 -0400 Subject: [Wxruby-users] wxScintilla vs. StyledTextControl In-Reply-To: <4329D2E6.4070501@qualitycode.com> References: <4329338E.3020406@mindspring.com> <43294496.2010301@mindspring.com> <43297898.4070203@qualitycode.com> <432980E7.5020506@mindspring.com> <4329D2E6.4070501@qualitycode.com> Message-ID: <4329D5BE.80108@mindspring.com> Hmm. I'll have to look into %if to see if it'll do right. A run-time option? If it's built into the library there's no need to turn it on or off. For binary distributions I'd say always include it. For compiling it yourself you'd need to either download the additional file (or we include it with the src if we can?) or else you get a version without wxScintilla. My concern over making it a separate project is just making sure the resultant library doesn't duplicate wx code from wxRuby and that it will work properly, accessing the required wx libraries when combined through Ruby. If anyone wants to play around with it I can zip up everything and drop it to the list later. I'm curious to see how it works on Mac, since Scintilla itself apparently doesn't work on Mac, if you believe the Scintilla Web site. Roy Kevin Smith wrote: > Hm. Ok. > > I think the easiest thing for Scintilla.i would be to just have > conditionals (%if or #if?) in it such that effectively becomes empty if > scintilla isn't wanted. I think an empty .i file is harmless. > > It sure would be nice if we could make it a run-time option instead of > compile-time. If that's really not possible, then would we have two > binary wxruby releases on each platform, one with it and one without? > > Or maybe wxRubyScintilla should be its own separate project, or at least > its own separate dll/so target. That way, if you require it, it would > link in happily, but if you don't, it would not require the underlying > wxScintilla library to be present. From roys at mindspring.com Fri Sep 16 17:56:14 2005 From: roys at mindspring.com (Roy Sutton) Date: Fri, 16 Sep 2005 17:56:14 -0400 Subject: [Wxruby-users] Scintilla Message-ID: <432B3F7E.6030802@mindspring.com> I was not able to make an empty .i file work. Swig will complain about not finding a module. Theoretically, one could design a class that would throw an exception if you ever instantiated it if WXSCINTILLA wasn't defined. In practice, I just added a rake task for generating optional components and added a directory called 'optional' under swig/classes. I'm pretty pleased, although it does segfault when you exit the sample application. As I recall, this has something to do with virtual functions. There are no virtual functions functions, though I declared the destructor virtual as I thought I recalled a message about doing that to prevent the error. Roy From roys at mindspring.com Sat Sep 17 00:47:15 2005 From: roys at mindspring.com (Roy Sutton) Date: Sat, 17 Sep 2005 00:47:15 -0400 Subject: [Wxruby-users] SplitterWindow patch Message-ID: <432B9FD3.1050305@mindspring.com> Here's a patch for wxSplitterWindow.h that adds in some missing functions Roy -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: wxSplitterWindow.h.patch Url: http://rubyforge.org/pipermail/wxruby-users/attachments/20050917/d8ba4fba/wxSplitterWindow.h.bat From roys at mindspring.com Sun Sep 18 05:21:55 2005 From: roys at mindspring.com (Roy Sutton) Date: Sun, 18 Sep 2005 05:21:55 -0400 Subject: [Wxruby-users] Free Message-ID: <432D31B3.9030603@mindspring.com> In the dialogs.rb sample, when you click the delete button you get: C:/RubyDev/wxruby2/samples/dialogs/dialogs.rb:61:in `onButton': undefined method `free' for # (NoMethodError) Should all/some wxObjects have a free function? how do we intend to handle this? From roys at mindspring.com Sun Sep 18 06:15:35 2005 From: roys at mindspring.com (Roy Sutton) Date: Sun, 18 Sep 2005 06:15:35 -0400 Subject: [Wxruby-users] Patch to wxFindReplaceDialog.h Message-ID: <432D3E47.9040209@mindspring.com> The Find/Replace dialog got broken on Windows back when we reparented everything. Attached is a patch to conditionally included some things needed for Windows. Roy -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: wxFindReplaceDialog.h.patch Url: http://rubyforge.org/pipermail/wxruby-users/attachments/20050918/4d721b7d/wxFindReplaceDialog.h.bat From wxruby at qualitycode.com Sun Sep 18 12:52:00 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sun, 18 Sep 2005 12:52:00 -0400 Subject: [Wxruby-users] TextValidator added In-Reply-To: References: Message-ID: <432D9B30.6030205@qualitycode.com> Sean Long wrote: > Here are the patches needed to add TextValidator. I actually did this > one a while back and forgot about it until I needed it today. Applied, thanks. One request to anyone updating swig/classes/include/wxXxx.h files: Please update the copyright to match the one in wxCaret, since these files are no longer automatically generated. If we at least change them whenever we're editing those files for another reason, eventually they'll get switched over. Thanks, Kevin From wxruby at qualitycode.com Sun Sep 18 12:53:49 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sun, 18 Sep 2005 12:53:49 -0400 Subject: [Wxruby-users] Rect.i and patch for wxRect.h In-Reply-To: <43268243.3020506@mindspring.com> References: <43268243.3020506@mindspring.com> Message-ID: <432D9B9D.4090704@qualitycode.com> Roy Sutton wrote: > These files implement the wxRect class. I couldn't think of any > particular reason not to implement this. Agreed. Thanks. Kevin From wxruby at qualitycode.com Sun Sep 18 12:57:10 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sun, 18 Sep 2005 12:57:10 -0400 Subject: [Wxruby-users] Implementation for Timer and TimerEvent In-Reply-To: <432684EA.4040705@mindspring.com> References: <432684EA.4040705@mindspring.com> Message-ID: <432D9C66.6070400@qualitycode.com> Roy Sutton wrote: > These files implement the Timer. There's also a patch to introduce > EVT_TIMER Applied, thanks. Kevin From wxruby at qualitycode.com Sun Sep 18 13:01:30 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sun, 18 Sep 2005 13:01:30 -0400 Subject: [Wxruby-users] Patch to RubyConstants.i In-Reply-To: <43268B86.1040405@mindspring.com> References: <43268B86.1040405@mindspring.com> Message-ID: <432D9D6A.6000107@qualitycode.com> Roy Sutton wrote: > This patch does two things: > > 1) puts in the enums (+ Ruby aliases) for the TreeCtrl icon settings Cool. > 2) Removes a redundant definition of wxCURSOR_DEFAULT, eliminating a > compiler warning on Windows I'm slightly concerned that this will cause a compile error on the Mac. I have committed it anyway, but it may have to come back with a different #if. Hopefully it was a 2.4 issue that has been fixed on all platforms in 2.6. Fingers crossed. Kevin From wxruby at qualitycode.com Sun Sep 18 13:05:48 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sun, 18 Sep 2005 13:05:48 -0400 Subject: [Wxruby-users] Patches I forgot to send last night, pt. 1 In-Reply-To: <43279F32.8030600@mindspring.com> References: <43279F32.8030600@mindspring.com> Message-ID: <432D9E6C.7050300@qualitycode.com> Roy Sutton wrote: > Patch for RubyConstants.i to add ImageList constants This didn't apply cleanly, but I figured out why: the filename to patch was Rubyconstants.i instead of RubyConstants.i. So I manually edited the patch, and then it applied. With 14 lines of "fuzz", because I have already applied Sean's patch to the same file. So all is well. Kevin From roys at mindspring.com Sun Sep 18 13:06:30 2005 From: roys at mindspring.com (Roy Sutton) Date: Sun, 18 Sep 2005 13:06:30 -0400 Subject: [Wxruby-users] Patch to RubyConstants.i In-Reply-To: <432D9D6A.6000107@qualitycode.com> References: <43268B86.1040405@mindspring.com> <432D9D6A.6000107@qualitycode.com> Message-ID: <432D9E96.9020307@mindspring.com> I downloaded all the header files as Sean suggested and verified that it's OK. Kevin Smith wrote: >> 2) Removes a redundant definition of wxCURSOR_DEFAULT, eliminating a >> compiler warning on Windows >> > > I'm slightly concerned that this will cause a compile error on the Mac. > I have committed it anyway, but it may have to come back with a > different #if. Hopefully it was a 2.4 issue that has been fixed on all > platforms in 2.6. Fingers crossed. > From wxruby at qualitycode.com Sun Sep 18 13:14:18 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sun, 18 Sep 2005 13:14:18 -0400 Subject: [Wxruby-users] Patches I missed, pt. 2 In-Reply-To: <4327A4EC.1030307@mindspring.com> References: <4327A4EC.1030307@mindspring.com> Message-ID: <432DA06A.70307@qualitycode.com> Roy Sutton wrote: > StatusBar.i -- Adds a typemap to return a wxRect structure. You'll > really want to go over this to make sure it's correct. I don't have a > sample but it did make part of one of the bigdemo samples work a little > better. If you want to put this on the back-burner until we have a > chance to test it more fully I'd understand completely. It looks ok, so I trust you enough to go ahead and apply it. > One of the things I'm not so sure of is how we keep this typemap from > affecting other possible wxRect functions. There are a lot of functions > that need this typemap and we can segregate it out to only certain .i > files... But I know it will conflict with one of the ones that takes a > Rect as an input parameter. Right. I'm beginning to think that maybe we want to move most of the output-related typemaps into their own files, so we can %include just those that we really want for a given class. Eventually I want to be able to do something even fancier, but I'm not sure what swig offers. At least splitting up the typemaps would be a step in the right direction. We should probably have a swig/typemaps/ directory, and store all the esoteric ones there, with reasonable naming. > At some point, I'll get around to applying and testing this with the > other Get*Rect functions. Ok. Thanks, Kevin From roys at mindspring.com Sun Sep 18 13:14:49 2005 From: roys at mindspring.com (Roy Sutton) Date: Sun, 18 Sep 2005 13:14:49 -0400 Subject: [Wxruby-users] Patches I forgot to send last night, pt. 1 In-Reply-To: <432D9E6C.7050300@qualitycode.com> References: <43279F32.8030600@mindspring.com> <432D9E6C.7050300@qualitycode.com> Message-ID: <432DA089.10109@mindspring.com> Bah! I knew I'd accidentally do that someday. Since I have to use forward slashes I can't have windows complete the filenames for me. And Windows doesn't care if I get the case wrong. Kevin Smith wrote: > This didn't apply cleanly, but I figured out why: the filename to patch > was Rubyconstants.i instead of RubyConstants.i. From wxruby at qualitycode.com Sun Sep 18 13:15:57 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sun, 18 Sep 2005 13:15:57 -0400 Subject: [Wxruby-users] Part 3 In-Reply-To: <4327A56A.2090407@mindspring.com> References: <4327A56A.2090407@mindspring.com> Message-ID: <432DA0CD.4000804@qualitycode.com> Roy Sutton wrote: > Window.i patch to remove the %ignore for GetFont. Not sure why it was > ignored. GetFont is needed by one of the samples. Cool. Must have been giving a compile error for me earlier. Possibly in the wx 2.4 days. Applied. Kevin From wxruby at qualitycode.com Sun Sep 18 13:18:51 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sun, 18 Sep 2005 13:18:51 -0400 Subject: [Wxruby-users] Part 4 In-Reply-To: <4327A6E1.1080802@mindspring.com> References: <4327A6E1.1080802@mindspring.com> Message-ID: <432DA17B.3010305@qualitycode.com> Roy Sutton wrote: > wxMenuItem.h patch > > This patch adds in some platform-specific functions, #if defined out so > it should compile properly on other platforms. > > Note: This will get a couple demos working properly on Windows and > GTK. The demos will need to have platform specific calls in there. Ok. Thanks. Kevin From wxruby at qualitycode.com Sun Sep 18 13:21:54 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sun, 18 Sep 2005 13:21:54 -0400 Subject: [Wxruby-users] Part 5 (Window#RegisterHotKey) In-Reply-To: <4327A787.7030305@mindspring.com> References: <4327A787.7030305@mindspring.com> Message-ID: <432DA232.3050709@qualitycode.com> Roy Sutton wrote: > This patch to wxWindow.h adds a Windows-specific function > 'RegisterhotKey'. No demos use it. I didn't test to see if it worked. > Why did I add it? I don't know. This type of thing would likely be > fixed by the doxygen stuff, if we ever went down that path. I applied this, but am inclined to think we shouldn't unless we have (or add) a sample to prove that it works. Minor request: It would be great if you could include something about the patch in the email subject line. Other than that, your patches are in the perfect format, where I can easily view them in my email app (tbird), and extract them to run them through patch. Thanks, Kevin From wxruby at qualitycode.com Sun Sep 18 13:23:44 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sun, 18 Sep 2005 13:23:44 -0400 Subject: [Wxruby-users] SplitterWindow patch In-Reply-To: <432B9FD3.1050305@mindspring.com> References: <432B9FD3.1050305@mindspring.com> Message-ID: <432DA2A0.3070600@qualitycode.com> Roy Sutton wrote: > Here's a patch for wxSplitterWindow.h that adds in some missing functions Applied, thanks. Kevin From wxruby at qualitycode.com Sun Sep 18 13:27:03 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sun, 18 Sep 2005 13:27:03 -0400 Subject: [Wxruby-users] Free In-Reply-To: <432D31B3.9030603@mindspring.com> References: <432D31B3.9030603@mindspring.com> Message-ID: <432DA367.1060900@qualitycode.com> Roy Sutton wrote: > In the dialogs.rb sample, when you click the delete button you get: > > C:/RubyDev/wxruby2/samples/dialogs/dialogs.rb:61:in `onButton': > undefined method > `free' for # (NoMethodError) > > Should all/some wxObjects have a free function? how do we intend to > handle this? I don't think we should implement a 'free' method unless wxPython also does. Perhaps later, when we have all the memory management figured out, I might feel differently. For now, I would delete that line from the sample. Thanks, Kevin From wxruby at qualitycode.com Sun Sep 18 13:29:08 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sun, 18 Sep 2005 13:29:08 -0400 Subject: [Wxruby-users] Patch to wxFindReplaceDialog.h In-Reply-To: <432D3E47.9040209@mindspring.com> References: <432D3E47.9040209@mindspring.com> Message-ID: <432DA3E4.3040603@qualitycode.com> Roy Sutton wrote: > The Find/Replace dialog got broken on Windows back when we reparented > everything. Attached is a patch to conditionally included some things > needed for Windows. Committed, thanks. Kevin From roys at mindspring.com Sun Sep 18 13:41:11 2005 From: roys at mindspring.com (Roy Sutton) Date: Sun, 18 Sep 2005 13:41:11 -0400 Subject: [Wxruby-users] Free In-Reply-To: <432DA367.1060900@qualitycode.com> References: <432D31B3.9030603@mindspring.com> <432DA367.1060900@qualitycode.com> Message-ID: <432DA6B7.4050909@mindspring.com> Kevin, I'm beginning to run out of 'low-hanging fruit'. There are still dozens of things left to do but I wanted to see if perhaps you wanted to lay out a roadmap to the next 'release'. The way I see it, the biggest impediments to powerful, working programs are: 1) Functions that return wx objects that have already been created instead create new objects 2) The remaining segfaults on exit (minor?) Would you like to st some direction for us here? Roy Kevin Smith wrote: > Roy Sutton wrote: > >> In the dialogs.rb sample, when you click the delete button you get: >> >> C:/RubyDev/wxruby2/samples/dialogs/dialogs.rb:61:in `onButton': >> undefined method >> `free' for # (NoMethodError) >> >> Should all/some wxObjects have a free function? how do we intend to >> handle this? >> > > I don't think we should implement a 'free' method unless wxPython also > does. Perhaps later, when we have all the memory management figured out, > I might feel differently. For now, I would delete that line from the sample. > > Thanks, > > Kevin > _______________________________________________ > wxruby-users mailing list > wxruby-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/wxruby-users > > > > From wxruby at qualitycode.com Sun Sep 18 13:57:26 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Sun, 18 Sep 2005 13:57:26 -0400 Subject: [Wxruby-users] wxruby2 roadmap (was: Free) In-Reply-To: <432DA6B7.4050909@mindspring.com> References: <432D31B3.9030603@mindspring.com> <432DA367.1060900@qualitycode.com> <432DA6B7.4050909@mindspring.com> Message-ID: <432DAA86.9060005@qualitycode.com> Roy Sutton wrote: > Kevin, > > I'm beginning to run out of 'low-hanging fruit'. There are still dozens > of things left to do but I wanted to see if perhaps you wanted to lay > out a roadmap to the next 'release'. Good idea. > The way I see it, the biggest impediments to powerful, working programs are: > > 1) Functions that return wx objects that have already been created > instead create new objects > 2) The remaining segfaults on exit (minor?) I agree, except that the segfaults don't seem that minor to me. I suspect if we were to insert gc.start calls here and there, those segfaults would happen right then. When we fix this, I would be willing to cut a "preview release" with binaries. One other issue is all the methods that return objects (instead of object pointers), which I believe swig is ignoring for now. You seem to have a pretty good grasp of typemaps, so I would appreciate if you could take on this one at some point. I just updated the TODO list to reflect your thoughts, and my response. Kevin From roys at mindspring.com Sun Sep 18 15:22:50 2005 From: roys at mindspring.com (Roy Sutton) Date: Sun, 18 Sep 2005 15:22:50 -0400 Subject: [Wxruby-users] Scintilla to try out Message-ID: <432DBE8A.4050106@mindspring.com> Here's a .zip file with the files and directory structure needed to try out my scintilla changes. It also included a help file. You'll, of course, need to download wxScintilla from here: https://sourceforge.net/project/showfiles.php?group_id=51305&package_id=45182 Oh. Hmm, I just noticed he made a new build today. I guess I'll have to go see what's different. Roy From roys at mindspring.com Sun Sep 18 15:27:04 2005 From: roys at mindspring.com (Roy Sutton) Date: Sun, 18 Sep 2005 15:27:04 -0400 Subject: [Wxruby-users] Scintilla to try out In-Reply-To: <432DBE8A.4050106@mindspring.com> References: <432DBE8A.4050106@mindspring.com> Message-ID: <432DBF88.9000801@mindspring.com> With attached file... The 1.66 adds some ruby defines. I'll send a patch off to the guy with my suggested patch to his header file so it'll work with our project without change. Roy Roy Sutton wrote: > Here's a .zip file with the files and directory structure needed to try > out my scintilla changes. It also included a help file. You'll, of > course, need to download wxScintilla from here: > > https://sourceforge.net/project/showfiles.php?group_id=51305&package_id=45182 > > Oh. Hmm, I just noticed he made a new build today. I guess I'll have > to go see what's different. > > Roy > > _______________________________________________ > wxruby-users mailing list > wxruby-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/wxruby-users > > > > -------------- next part -------------- A non-text attachment was scrubbed... Name: scintilla.zip Type: application/x-zip-compressed Size: 30547 bytes Desc: not available Url : http://rubyforge.org/pipermail/wxruby-users/attachments/20050918/a87326a1/scintilla-0001.bin From roys at mindspring.com Sun Sep 18 16:36:41 2005 From: roys at mindspring.com (Roy Sutton) Date: Sun, 18 Sep 2005 16:36:41 -0400 Subject: [Wxruby-users] New version of .zip file for Scintilla Message-ID: <432DCFD9.60100@mindspring.com> I missed three patch files that are needed. This new .zip file has them all. Oddly, after upgrading to 1.66 I'm having problems with the Scintilla object not being present. :( It all worked fine before. I'll try to track it down and see if I missed some files. Roy -------------- next part -------------- A non-text attachment was scrubbed... Name: scintilla.zip Type: application/x-zip-compressed Size: 32332 bytes Desc: not available Url : http://rubyforge.org/pipermail/wxruby-users/attachments/20050918/25303680/scintilla-0001.bin From roys at mindspring.com Sun Sep 18 16:56:36 2005 From: roys at mindspring.com (Roy Sutton) Date: Sun, 18 Sep 2005 16:56:36 -0400 Subject: [Wxruby-users] wxScintilla patch missing from zip Message-ID: <432DD484.6090700@mindspring.com> Here's the last piece of the puzzle you'll need to get this working (other than modifying the platform specific stuff like rakemswin.rb). Roy -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: rakewx.rb.patch Url: http://rubyforge.org/pipermail/wxruby-users/attachments/20050918/7158b152/rakewx.rb.bat From sean.m.long at gmail.com Mon Sep 19 01:03:27 2005 From: sean.m.long at gmail.com (Sean Long) Date: Sun, 18 Sep 2005 22:03:27 -0700 Subject: [Wxruby-users] Patch to RubyConstants.i In-Reply-To: <432D9D6A.6000107@qualitycode.com> References: <43268B86.1040405@mindspring.com> <432D9D6A.6000107@qualitycode.com> Message-ID: > I'm slightly concerned that this will cause a compile error on the Mac. > I have committed it anyway, but it may have to come back with a > different #if. Hopefully it was a 2.4 issue that has been fixed on all > platforms in 2.6. Fingers crossed. Just checked out a clean version from HEAD and this is not a problem on Mac OS X. Sean From sean.m.long at gmail.com Mon Sep 19 11:08:17 2005 From: sean.m.long at gmail.com (Sean Long) Date: Mon, 19 Sep 2005 08:08:17 -0700 Subject: [Wxruby-users] more fixes for Grid classes Message-ID: I am still hunting the bug where the cell editor finishes and crashes on Mac OS. In the process I have gone over these Grid related classes in great detail and found most were %importing wxObject.h and wxEvtHandler.h and they were not needed. I added a *.i file for ClientDataContainer not sure if it is needed out side Grid. I also added GridCellCoords. Sean -------------- next part -------------- A non-text attachment was scrubbed... Name: more_grid_cleanup.zip Type: application/zip Size: 15427 bytes Desc: not available Url : http://rubyforge.org/pipermail/wxruby-users/attachments/20050919/3826dd5a/more_grid_cleanup.zip From roys at mindspring.com Wed Sep 21 23:10:18 2005 From: roys at mindspring.com (Roy Sutton) Date: Wed, 21 Sep 2005 23:10:18 -0400 Subject: [Wxruby-users] wxWindow 2.6.2 Released Message-ID: <4332209A.1000000@mindspring.com> More information here: ftp://biolpc22.york.ac.uk/pub/2.6.2/changes-2.6.2.txt I am compiling now. There are only a sprinkling of new functions. Since we're still not beta I see no reason not to upgrade to 2.6.2. I'll try to get some patch files for the new functions (that we'll actually use) sometime this weekend maybe. What's everyone else working on? Roy From sean.m.long at gmail.com Thu Sep 22 02:16:24 2005 From: sean.m.long at gmail.com (Sean Long) Date: Wed, 21 Sep 2005 23:16:24 -0700 Subject: [Wxruby-users] wxWindow 2.6.2 Released In-Reply-To: <4332209A.1000000@mindspring.com> References: <4332209A.1000000@mindspring.com> Message-ID: > What's everyone else working on? Not much. I have been busy with my job and have not had much time or desire lately to hack away at wxruby, that and I still can not find that damn end cell editing bug on OS X. Thanks for the heads up on 2.6.2 will need to go check it out to see if it is worth the hassle. Sean From wxruby at qualitycode.com Thu Sep 22 09:39:21 2005 From: wxruby at qualitycode.com (Kevin Smith) Date: Thu, 22 Sep 2005 09:39:21 -0400 Subject: [Wxruby-users] wxWindow 2.6.2 Released In-Reply-To: <4332209A.1000000@mindspring.com> References: <4332209A.1000000@mindspring.com> Message-ID: <4332B409.50300@qualitycode.com> Roy Sutton wrote: > I am compiling now. There are only a sprinkling of new functions. > Since we're still not beta I see no reason not to upgrade to 2.6.2. Thanks for passing along the news of 2.6.2. I think supporting 2.6.2 makes perfect sense. I'm not sure we should require it, however. If we add support for new 2.6.2-specific methods, let's surround them with #if's so we can change our minds if we find out that 2.6.1 is far more available on some platform than 2.6.2. > What's everyone else working on? I'm swamped right now trying to find a renter for a cottage that I own, fixing up another, and doing my regular programming work. I'll try to sqeeze in a few hours every few days to integrate patches, and perhaps even make progress on the GC crashing problem. Thanks, Kevin From roys at mindspring.com Thu Sep 22 23:29:24 2005 From: roys at mindspring.com (Roy Sutton) Date: Thu, 22 Sep 2005 23:29:24 -0400 Subject: [Wxruby-users] FileDialog.i patch Message-ID: <43337694.5090304@mindspring.com> Here's a patch for FileDialog.i. Seems we had never removed that #ifdef in there. wxWindows 2.6.2 works just fine on Windows. No other news. Roy -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: FileDialog.i.patch Url: http://rubyforge.org/pipermail/wxruby-users/attachments/20050922/fc516e5b/FileDialog.i.bat From roys at mindspring.com Sat Sep 24 19:44:22 2005 From: roys at mindspring.com (Roy Sutton) Date: Sat, 24 Sep 2005 19:44:22 -0400 Subject: [Wxruby-users] Interesting Link... Message-ID: <4335E4D6.6060403@mindspring.com> http://visualwx.altervista.org/ A visual builder for wxWindows that purports to support Ruby. I'll play with this some and see if I can design projects that work with wxRuby2. Roy From curt.hibbs at gmail.com Sun Sep 25 02:25:28 2005 From: curt.hibbs at gmail.com (Curt Hibbs) Date: Sun, 25 Sep 2005 01:25:28 -0500 Subject: [Wxruby-users] Interesting Link... In-Reply-To: <4335E4D6.6060403@mindspring.com> References: <4335E4D6.6060403@mindspring.com> Message-ID: <31d15f490509242325c799512@mail.gmail.com> I look forward to hearing about your impressions. Curt On 9/24/05, Roy Sutton wrote: > > http://visualwx.altervista.org/ > > A visual builder for wxWindows that purports to support Ruby. I'll play > with this some and see if I can design projects that work with wxRuby2. > > Roy > > _______________________________________________ > wxruby-users mailing list > wxruby-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/wxruby-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/wxruby-users/attachments/20050925/3e4e5a42/attachment.htm From roys at mindspring.com Sun Sep 25 10:08:05 2005 From: roys at mindspring.com (Roy Sutton) Date: Sun, 25 Sep 2005 10:08:05 -0400 Subject: [Wxruby-users] Interesting Link... In-Reply-To: <31d15f490509242325c799512@mail.gmail.com> References: <4335E4D6.6060403@mindspring.com> <31d15f490509242325c799512@mail.gmail.com> Message-ID: <4336AF45.2040005@mindspring.com> It does work... Although we have changed a few things and I can't seem to make it let go of the old namings in places. I created a simple project with some sizers, buttons and events. Once I changed a few words around it worked just fine. I will try creating a more meaningful project. I think it will give us an opportunity to exercise the new library some. Roy Curt Hibbs wrote: > I look forward to hearing about your impressions. > > Curt > > On 9/24/05, *Roy Sutton* > wrote: > > http://visualwx.altervista.org/ > > A visual builder for wxWindows that purports to support > Ruby. I'll play > with this some and see if I can design projects that work with > wxRuby2. > > Roy > > _______________________________________________ > wxruby-users mailing list > wxruby-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/wxruby-users > > > ------------------------------------------------------------------------ > > _______________________________________________ > wxruby-users mailing list > wxruby-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/wxruby-users > From roys at mindspring.com Mon Sep 26 00:15:47 2005 From: roys at mindspring.com (Roy Sutton) Date: Mon, 26 Sep 2005 00:15:47 -0400 Subject: [Wxruby-users] Fixing class returns Message-ID: <433775F3.3060309@mindspring.com> I took a stab at fixing the class returns tonight and I really didn't get anywhere. It seemed that using a %typemap(out) would do the trick, according to the swig documentation, but it didn't affect the warning messages at all. For example: %typemap(out) wxPoint { $result = SWIG_NewPointerObj((void *) &$1, SWIGTYPE_p_wxPoint, 1); } This doesn't fix, for example, ScreenToClient in wxWindow.h. It's entirely likely I did something wrong. How are we supposed to fix these? Roy From curt.hibbs at gmail.com Mon Sep 26 12:56:22 2005 From: curt.hibbs at gmail.com (Curt Hibbs) Date: Mon, 26 Sep 2005 11:56:22 -0500 Subject: [Wxruby-users] Fwd: [ANN] Rapid GUI Development with QtRuby In-Reply-To: References: Message-ID: <31d15f49050926095654950ed0@mail.gmail.com> Just in case some of you missed it, Pragmatic Programmers just published their first of a series of short, PDF-only books. This one is on qtRuby. It would be great to have something like this for wxRuby. I don't think wxRuby is quite ready to this (yet), but I thought I'd plant the idea. Curt ---------- Forwarded message ---------- From: Dave Thomas Date: Sep 26, 2005 11:46 AM Subject: [ANN] Rapid GUI Development with QtRuby To: ruby-talk ML I hope y'all don't mind a short announcement, but it seemed relevant. Caleb Tennis has just finished a short book on the QtRuby library, which integrates the cross-platform Qt3 library into Ruby. It discusses how to create cross-platform GUI applications for Linux and OS X in Ruby. It covers installation, basic and advanced programming, event models, and Korundum. See http://pragmaticprogrammer.com/titles/ ctrubyqt/index.html for more details and an extract. This is the first in our new line of _Fridays_: short, PDF-only books on a single topic. (There's more information on Fridays at http:// pragmaticprogrammer.com/fridays.html) I'm always looking for more material to support the Ruby community: if you feel you have either a full book or a Friday in you, drop me a line. Thanks Dave Thomas -------------- next part -------------- An HTML attachment was scrubbed... URL: http://rubyforge.org/pipermail/wxruby-users/attachments/20050926/0893f97f/attachment.htm From roys at mindspring.com Mon Sep 26 13:16:19 2005 From: roys at mindspring.com (Roy Sutton) Date: Mon, 26 Sep 2005 13:16:19 -0400 Subject: [Wxruby-users] Fwd: [ANN] Rapid GUI Development with QtRuby In-Reply-To: <31d15f49050926095654950ed0@mail.gmail.com> References: <31d15f49050926095654950ed0@mail.gmail.com> Message-ID: <43382CE3.8080502@mindspring.com> That would be a great thing to have. I agree we're not quite there yet. I have a domain that I am in the process of getting set up. Part of my goal for the site is for it to be a learning resource for Ruby. Roy Curt Hibbs wrote: > Just in case some of you missed it, Pragmatic Programmers just > published their first of a series of short, PDF-only books. This one > is on qtRuby. > > It would be great to have something like this for wxRuby. I don't > think wxRuby is quite ready to this (yet), but I thought I'd plant the > idea. > > Curt > > ---------- Forwarded message ---------- > From: *Dave Thomas* > > Date: Sep 26, 2005 11:46 AM > Subject: [ANN] Rapid GUI Development with QtRuby > To: ruby-talk ML > > > I hope y'all don't mind a short announcement, but it seemed relevant. > > Caleb Tennis has just finished a short book on the QtRuby library, > which integrates the cross-platform Qt3 library into Ruby. It > discusses how to create cross-platform GUI applications for Linux and > OS X in Ruby. It covers installation, basic and advanced programming, > event models, and Korundum. See http://pragmaticprogrammer.com/titles/ > ctrubyqt/index.html for more details and an extract. > > This is the first in our new line of _Fridays_: short, PDF-only books > on a single topic. (There's more information on Fridays at http:// > pragmaticprogrammer.com/fridays.html) > > > I'm always looking for more material to support the Ruby community: > if you feel you have either a full book or a Friday in you, drop me a > line. > > Thanks > > > Dave Thomas > > ------------------------------------------------------------------------ > > _______________________________________________ > wxruby-users mailing list > wxruby-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/wxruby-users > From steviedizzle at gmail.com Mon Sep 26 20:54:21 2005 From: steviedizzle at gmail.com (Steven Davidovitz) Date: Mon, 26 Sep 2005 20:54:21 -0400 Subject: [Wxruby-users] WxRuby + Ruby/SDL Message-ID: <4338983D.9030509@gmail.com> Hi, I am making a game with Ruby/SDL and have run into trouble finding a GUI to cooperate. I have seen numerous examples of wxWindows in combination with SDL (wxPython and PyGame), but have yet to be able to do it in ruby (PyGame example: http://wiki.wxpython.org/index.cgi/IntegratingPyGame). I am not very good with wxRuby as this is my first time using it and thought some more knowledgable users could help me out. Thanks! Steve From roys at mindspring.com Tue Sep 27 00:13:28 2005 From: roys at mindspring.com (Roy Sutton) Date: Tue, 27 Sep 2005 00:13:28 -0400 Subject: [Wxruby-users] WxRuby + Ruby/SDL In-Reply-To: <4338983D.9030509@gmail.com> References: <4338983D.9030509@gmail.com> Message-ID: <4338C6E8.1080404@mindspring.com> Hello Steve, I've taken a stab at making Ruby/SDL work with wxRuby. The short answer is, you can't (easily) make it work with 0.9.4 of Ruby/SDL. I'm attempting to compile 0.9.5 but there's no makefile for it. The issue is that in order to make SDL live in an existing window you have to set an environment variable. Sadly, setting the environment variable in Ruby doesn't cause it to be available to SDL. 0.9.5 has a putenv function that should allow for setting the environment variable. Frankly, having to set your windowID as an environment variable seems like the most backwards way of specifying it. Also, I will have to submit a patch to Window.i for wxRuby2 as get_handle doesn't return a value you can use. Roy Steven Davidovitz wrote: > Hi, > I am making a game with Ruby/SDL and have run into trouble finding a GUI > to cooperate. I have seen numerous examples of wxWindows in combination > with SDL (wxPython and PyGame), but have yet to be able to do it in ruby > (PyGame example: http://wiki.wxpython.org/index.cgi/IntegratingPyGame). > I am not very good with wxRuby as this is my first time using it and > thought some more knowledgable users could help me out. > > Thanks! > Steve From roys at mindspring.com Tue Sep 27 23:28:03 2005 From: roys at mindspring.com (Roy Sutton) Date: Tue, 27 Sep 2005 23:28:03 -0400 Subject: [Wxruby-users] Patch for typemap.i Message-ID: <433A0DC3.2050006@mindspring.com> This patch for typemap.i fixes several swig warnings while compiling. You may noticed that I didn't fix all the typecheck typemaps. I suppose I should fix all of them, but they don't cause problems with the compilation. This also has a patch to convert void *'s into ruby numbers. This fixes a problem with the get_handle call. I still am not sure what's causing the problems with the other returns it can't use. I'm betting it has something to do with improper typemaps. Roy -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: typemap.i.patch Url: http://rubyforge.org/pipermail/wxruby-users/attachments/20050927/387d7a19/typemap.i-0001.bat From steviedizzle at gmail.com Wed Sep 28 20:46:43 2005 From: steviedizzle at gmail.com (Steven Davidovitz) Date: Wed, 28 Sep 2005 20:46:43 -0400 Subject: [Wxruby-users] WxRuby + Ruby/SDL In-Reply-To: <4338C6E8.1080404@mindspring.com> References: <4338983D.9030509@gmail.com> <4338C6E8.1080404@mindspring.com> Message-ID: <433B3973.3070704@gmail.com> Very cool. I was wondering if the patch was applied in the latest CVS as I have Ruby/SDL 0.9.5 installed (Gentoo) and could test out the code. Thanks, Steve Roy Sutton wrote: >Hello Steve, > >I've taken a stab at making Ruby/SDL work with wxRuby. The short answer >is, you can't (easily) make it work with 0.9.4 of Ruby/SDL. I'm >attempting to compile 0.9.5 but there's no makefile for it. The issue >is that in order to make SDL live in an existing window you have to set >an environment variable. Sadly, setting the environment variable in >Ruby doesn't cause it to be available to SDL. 0.9.5 has a putenv >function that should allow for setting the environment variable. >Frankly, having to set your windowID as an environment variable seems >like the most backwards way of specifying it. > >Also, I will have to submit a patch to Window.i for wxRuby2 as >get_handle doesn't return a value you can use. > >Roy > >Steven Davidovitz wrote: > > >>Hi, >>I am making a game with Ruby/SDL and have run into trouble finding a GUI >>to cooperate. I have seen numerous examples of wxWindows in combination >>with SDL (wxPython and PyGame), but have yet to be able to do it in ruby >>(PyGame example: http://wiki.wxpython.org/index.cgi/IntegratingPyGame). >>I am not very good with wxRuby as this is my first time using it and >>thought some more knowledgable users could help me out. >> >>Thanks! >>Steve >> >> > >_______________________________________________ >wxruby-users mailing list >wxruby-users at rubyforge.org >http://rubyforge.org/mailman/listinfo/wxruby-users > > > From roys at mindspring.com Wed Sep 28 21:06:22 2005 From: roys at mindspring.com (Roy Sutton) Date: Wed, 28 Sep 2005 21:06:22 -0400 Subject: [Wxruby-users] WxRuby + Ruby/SDL In-Reply-To: <433B3973.3070704@gmail.com> References: <4338983D.9030509@gmail.com> <4338C6E8.1080404@mindspring.com> <433B3973.3070704@gmail.com> Message-ID: <433B3E0E.4080900@mindspring.com> This is the code I was going to use. It's not really smart but it might work! My patch to fix the get_handle for wxRuby2 isn't applied yet. Maybe this'll work with 0.6 if you change the require to 'wxruby'. I don't know, I don't have the old version installed. Roy require 'wx' class MyFrame < Wx::Frame def initialize(title, pos, size) super(nil, -1, title, pos, size) # ENV['SDL_WINDOWID'] = self.get_handle # ENV['SDL_VIDEODRIVER'] = 'windib' require 'sdl' SDL.putenv("SDL_WINDOWID=#{self.get_handle}") SDL.putenv("SDL_VIDEODRIVER=windib") SDL.init( SDL::INIT_VIDEO ) screen = SDL::setVideoMode(size.x, size.y, 0, SDL::SWSURFACE) sred = screen.format.mapRGB(255,0,0) screen.drawAALine(20,20,300,200,sred) screen.drawAACircle(100,100,50,[87,87,87]) screen.drawAAFilledCircle(300,300,30,sred) screen.drawAAEllipse(320,240,100,200,[200,255,0]) end end class RbApp < Wx::App def on_init frame = MyFrame.new("Wx and SDL test", Wx::Point.new(50, 50), Wx::Size.new(450,340)) frame.show(TRUE) end end a = RbApp.new a.main_loop() Steven Davidovitz wrote: > Very cool. I was wondering if the patch was applied in the latest CVS as > I have Ruby/SDL 0.9.5 installed (Gentoo) and could test out the code. > > Thanks, > Steve > > Roy Sutton wrote: > > >> Hello Steve, >> >> I've taken a stab at making Ruby/SDL work with wxRuby. The short answer >> is, you can't (easily) make it work with 0.9.4 of Ruby/SDL. I'm >> attempting to compile 0.9.5 but there's no makefile for it. The issue >> is that in order to make SDL live in an existing window you have to set >> an environment variable. Sadly, setting the environment variable in >> Ruby doesn't cause it to be available to SDL. 0.9.5 has a putenv >> function that should allow for setting the environment variable. >> Frankly, having to set your windowID as an environment variable seems >> like the most backwards way of specifying it. >> >> Also, I will have to submit a patch to Window.i for wxRuby2 as >> get_handle doesn't return a value you can use. >> >> Roy >> >> Steven Davidovitz wrote: >> >> >> >>> Hi, >>> I am making a game with Ruby/SDL and have run into trouble finding a GUI >>> to cooperate. I have seen numerous examples of wxWindows in combination >>> with SDL (wxPython and PyGame), but have yet to be able to do it in ruby >>> (PyGame example: http://wiki.wxpython.org/index.cgi/IntegratingPyGame). >>> I am not very good with wxRuby as this is my first time using it and >>> thought some more knowledgable users could help me out. >>> >>> Thanks! >>> Steve >>> >>> >>> >> _______________________________________________ >> wxruby-users mailing list >> wxruby-users at rubyforge.org >> http://rubyforge.org/mailman/listinfo/wxruby-users >> >> >> >> > > _______________________________________________ > wxruby-users mailing list > wxruby-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/wxruby-users > > > > From steviedizzle at gmail.com Wed Sep 28 21:48:37 2005 From: steviedizzle at gmail.com (Steven Davidovitz) Date: Wed, 28 Sep 2005 21:48:37 -0400 Subject: [Wxruby-users] WxRuby + Ruby/SDL In-Reply-To: <433B3E0E.4080900@mindspring.com> References: <4338983D.9030509@gmail.com> <4338C6E8.1080404@mindspring.com> <433B3973.3070704@gmail.com> <433B3E0E.4080900@mindspring.com> Message-ID: <433B47F5.9070104@gmail.com> No dice. I get an X Windows Error (I had to remove the SDL_VIDEODRIVER line, because it seemed Windows specific) when I run it ("serial 45 error_code 3 request_code 3 minor_code 0"). It was a BadWindow error so it was most likely something to do with get_handle and WindowID. Steven Roy Sutton wrote: >This is the code I was going to use. It's not really smart but it might >work! My patch to fix the get_handle for wxRuby2 isn't applied yet. >Maybe this'll work with 0.6 if you change the require to 'wxruby'. I >don't know, I don't have the old version installed. > >Roy > >require 'wx' > >class MyFrame < Wx::Frame > def initialize(title, pos, size) > super(nil, -1, title, pos, size) > ># ENV['SDL_WINDOWID'] = self.get_handle ># ENV['SDL_VIDEODRIVER'] = 'windib' > > require 'sdl' > > SDL.putenv("SDL_WINDOWID=#{self.get_handle}") > SDL.putenv("SDL_VIDEODRIVER=windib") > > SDL.init( SDL::INIT_VIDEO ) > screen = SDL::setVideoMode(size.x, size.y, 0, SDL::SWSURFACE) > > sred = screen.format.mapRGB(255,0,0) > screen.drawAALine(20,20,300,200,sred) > screen.drawAACircle(100,100,50,[87,87,87]) > screen.drawAAFilledCircle(300,300,30,sred) > screen.drawAAEllipse(320,240,100,200,[200,255,0]) > > end >end > >class RbApp < Wx::App > def on_init > frame = MyFrame.new("Wx and SDL test", Wx::Point.new(50, 50), >Wx::Size.new(450,340)) > frame.show(TRUE) > end >end > >a = RbApp.new >a.main_loop() > >Steven Davidovitz wrote: > > >>Very cool. I was wondering if the patch was applied in the latest CVS as >>I have Ruby/SDL 0.9.5 installed (Gentoo) and could test out the code. >> >>Thanks, >>Steve >> >>Roy Sutton wrote: >> >> >> >> >>>Hello Steve, >>> >>>I've taken a stab at making Ruby/SDL work with wxRuby. The short answer >>>is, you can't (easily) make it work with 0.9.4 of Ruby/SDL. I'm >>>attempting to compile 0.9.5 but there's no makefile for it. The issue >>>is that in order to make SDL live in an existing window you have to set >>>an environment variable. Sadly, setting the environment variable in >>>Ruby doesn't cause it to be available to SDL. 0.9.5 has a putenv >>>function that should allow for setting the environment variable. >>>Frankly, having to set your windowID as an environment variable seems >>>like the most backwards way of specifying it. >>> >>>Also, I will have to submit a patch to Window.i for wxRuby2 as >>>get_handle doesn't return a value you can use. >>> >>>Roy >>> >>>Steven Davidovitz wrote: >>> >>> >>> >>> >>> >>>>Hi, >>>>I am making a game with Ruby/SDL and have run into trouble finding a GUI >>>>to cooperate. I have seen numerous examples of wxWindows in combination >>>>with SDL (wxPython and PyGame), but have yet to be able to do it in ruby >>>>(PyGame example: http://wiki.wxpython.org/index.cgi/IntegratingPyGame). >>>>I am not very good with wxRuby as this is my first time using it and >>>>thought some more knowledgable users could help me out. >>>> >>>>Thanks! >>>>Steve >>>> >>>> >>>> >>>> >>>> >>>_______________________________________________ >>>wxruby-users mailing list >>>wxruby-users at rubyforge.org >>>http://rubyforge.org/mailman/listinfo/wxruby-users >>> >>> >>> >>> >>> >>> >>_______________________________________________ >>wxruby-users mailing list >>wxruby-users at rubyforge.org >>http://rubyforge.org/mailman/listinfo/wxruby-users >> >> >> >> >> >> > >_______________________________________________ >wxruby-users mailing list >wxruby-users at rubyforge.org >http://rubyforge.org/mailman/listinfo/wxruby-users > > > From roys at mindspring.com Wed Sep 28 22:14:58 2005 From: roys at mindspring.com (Roy Sutton) Date: Wed, 28 Sep 2005 22:14:58 -0400 Subject: [Wxruby-users] WxRuby + Ruby/SDL In-Reply-To: <433B47F5.9070104@gmail.com> References: <4338983D.9030509@gmail.com> <4338C6E8.1080404@mindspring.com> <433B3973.3070704@gmail.com> <433B3E0E.4080900@mindspring.com> <433B47F5.9070104@gmail.com> Message-ID: <433B4E22.30206@mindspring.com> Ah, well, I suppose I should have pointed out it was Win32 specific. You can take what I have there and crib off the other part of the page you linked to before. Perhaps on *nix you can actually use the ENV part. Roy Steven Davidovitz wrote: > No dice. > I get an X Windows Error (I had to remove the SDL_VIDEODRIVER line, > because it seemed Windows specific) when I run it ("serial 45 error_code > 3 request_code 3 minor_code 0"). It was a BadWindow error so it was most > likely something to do with get_handle and WindowID. > > Steven > > Roy Sutton wrote: > > >> This is the code I was going to use. It's not really smart but it might >> work! My patch to fix the get_handle for wxRuby2 isn't applied yet. >> Maybe this'll work with 0.6 if you change the require to 'wxruby'. I >> don't know, I don't have the old version installed. >> >> Roy >> >> require 'wx' >> >> class MyFrame < Wx::Frame >> def initialize(title, pos, size) >> super(nil, -1, title, pos, size) >> >> # ENV['SDL_WINDOWID'] = self.get_handle >> # ENV['SDL_VIDEODRIVER'] = 'windib' >> >> require 'sdl' >> >> SDL.putenv("SDL_WINDOWID=#{self.get_handle}") >> SDL.putenv("SDL_VIDEODRIVER=windib") >> >> SDL.init( SDL::INIT_VIDEO ) >> screen = SDL::setVideoMode(size.x, size.y, 0, SDL::SWSURFACE) >> >> sred = screen.format.mapRGB(255,0,0) >> screen.drawAALine(20,20,300,200,sred) >> screen.drawAACircle(100,100,50,[87,87,87]) >> screen.drawAAFilledCircle(300,300,30,sred) >> screen.drawAAEllipse(320,240,100,200,[200,255,0]) >> >> end >> end >> >> class RbApp < Wx::App >> def on_init >> frame = MyFrame.new("Wx and SDL test", Wx::Point.new(50, 50), >> Wx::Size.new(450,340)) >> frame.show(TRUE) >> end >> end >> >> a = RbApp.new >> a.main_loop() >> >> Steven Davidovitz wrote: >> >> >> >>> Very cool. I was wondering if the patch was applied in the latest CVS as >>> I have Ruby/SDL 0.9.5 installed (Gentoo) and could test out the code. >>> >>> Thanks, >>> Steve >>> >>> Roy Sutton wrote: >>> >>> >>> >>> >>> >>>> Hello Steve, >>>> >>>> I've taken a stab at making Ruby/SDL work with wxRuby. The short answer >>>> is, you can't (easily) make it work with 0.9.4 of Ruby/SDL. I'm >>>> attempting to compile 0.9.5 but there's no makefile for it. The issue >>>> is that in order to make SDL live in an existing window you have to set >>>> an environment variable. Sadly, setting the environment variable in >>>> Ruby doesn't cause it to be available to SDL. 0.9.5 has a putenv >>>> function that should allow for setting the environment variable. >>>> Frankly, having to set your windowID as an environment variable seems >>>> like the most backwards way of specifying it. >>>> >>>> Also, I will have to submit a patch to Window.i for wxRuby2 as >>>> get_handle doesn't return a value you can use. >>>> >>>> Roy >>>> >>>> Steven Davidovitz wrote: >>>> >>>> >>>> >>>> >>>> >>>> >>>>> Hi, >>>>> I am making a game with Ruby/SDL and have run into trouble finding a GUI >>>>> to cooperate. I have seen numerous examples of wxWindows in combination >>>>> with SDL (wxPython and PyGame), but have yet to be able to do it in ruby >>>>> (PyGame example: http://wiki.wxpython.org/index.cgi/IntegratingPyGame). >>>>> I am not very good with wxRuby as this is my first time using it and >>>>> thought some more knowledgable users could help me out. >>>>> >>>>> Thanks! >>>>> Steve >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>> _______________________________________________ >>>> wxruby-users mailing list >>>> wxruby-users at rubyforge.org >>>> http://rubyforge.org/mailman/listinfo/wxruby-users >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>> _______________________________________________ >>> wxruby-users mailing list >>> wxruby-users at rubyforge.org >>> http://rubyforge.org/mailman/listinfo/wxruby-users >>> >>> >>> >>> >>> >>> >>> >> _______________________________________________ >> wxruby-users mailing list >> wxruby-users at rubyforge.org >> http://rubyforge.org/mailman/listinfo/wxruby-users >> >> >> >> > > _______________________________________________ > wxruby-users mailing list > wxruby-users at rubyforge.org > http://rubyforge.org/mailman/listinfo/wxruby-users > > > > From ruby at portfolio16.de Fri Sep 30 07:42:07 2005 From: ruby at portfolio16.de (Tobias Gruetzmacher) Date: Fri, 30 Sep 2005 13:42:07 +0200 Subject: [Wxruby-users] Alternatives to CVS? In-Reply-To: <4320DE94.2070201@qualitycode.com> References: <20050809195824.GB19961@portfolio16.de> <42F97CD3.108@qualitycode.com> <4312895C.9010806@qualitycode.com> <20050830141501.GA13253@portfolio16.de> <431A1732.5000403@qualitycode.com> <20050904134852.GB6818@portfolio16.de> <431B488F.3090004@qualitycode.com> <20050904194831.GC6818@portfolio16.de> <4320DE94.2070201@qualitycode.com> Message-ID: <20050930114206.GA8096@portfolio16.de> Hi, On Thu, Sep 08, 2005 at 09:00:04PM -0400, Kevin Smith wrote: > Would it be easy (or possible) for you to set up a cron job so the > updates would happen automatically (predictably, reliably)? If you can > do that, I will commit to accepting patches in darcs format, on an > experimental basis. I came around building a secure setup with automatic updates via cron. The update happens every night at 03:30 CET/CEST. It pushes from my home server to the server darcs.portfolio16.de, that should work most of the time... Greetings Tobi -- GPG-Key 0xE2BEA341 - signed/encrypted mail preferred My, oh so small, homepage: http://portfolio16.de/ http://www.fli4l.de/ - ISDN- & DSL-Router on one disk! Registered FLI4L-User #00000003 -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: Digital signature Url : http://rubyforge.org/pipermail/wxruby-users/attachments/20050930/57a3f8ec/attachment.bin