Thank you, Mark, for this good explanation.

In my case, (realizing that you can glean from DateTime.xsp what's 
implemented), I just used: 
$sta = $time_from_wx->SetHMS(0);

Which is what I need at that point in the code.

Many thanks

Helen
  ----- Original Message ----- 
  From: Mark Dootson 
  To: wxperl-users@perl.org 
  Sent: Saturday, 22 June, 2013 17:52
  Subject: Re: Fw: Is Wx::DateTime fully implemented in WxPerl?


  Hi,

  First and foremost, the date parsing methods are not implemented in the 
wxPerl for the 2.9.x branch of wxWidgets. This is because the API for these 
methods changed completely from the 2.8 branch to the 2.9 branch. 
  When the 2.9 branch was first created, the code you quoted was added to 
wxPerl simply to allow compilation with the new wxWidgets branch. I imagine the 
intention was to return to the code and implement the 2.9.x API at some point.

  For myself, and I would guess previously Mattia, a full implementation on 
Wx::DateTime is a pretty low priority.

  My view would be that you should use one of the many excellent Perl module 
groups for Date Time manipulation to parse and calculate date values. Use 
Wx::DateTime objects only to pass your values to and from the GUI methods and 
functions as necessary.

  Not that it would have helped you in this case, but you have written code 
based on the 2.8.x wxWidgets API which would not work with the 2.9.x API anyway.

  I'll make sure that the date parsing functions are on the 'todo' list, but I 
would highly recommend using your favourite dedicated Perl DateTime module set 
instead.

  Regards

  Mark


  On 22/06/2013 15:22, Helen Craigman wrote:
  > In DateTime.xsp:
  > https://metacpan.org/source/MDOOTSON/Wx-0.9922/ext/datetime/XS/DateTime.xsp
  > lines 120-128, you find:
  > #if WXPERL_W_VERSION_LT( 2, 9, 0 )
  >      wxString ParseFormat( wxString date,
  >          wxString format = wxDefaultDateTimeFormat,
  >          const wxDateTime& dateDef = wxDefaultDateTimePtr );
  >      wxString ParseDate( wxString date);
  >      wxString ParseDateTime( wxString date);
  >      wxString ParseTime( wxString date);
  >      wxString ParseRfc822Date( wxString date);
  > #endif
  > What does that mean in respect of my OP?
  > Many TIA
  > Helen
  >
  >     ----- Original Message -----
  >     *From:* Helen Craigman <mailto:ga0...@gmail.com>
  >     *To:* wxperl-users <mailto:wxperl-users@perl.org>
  >     *Sent:* Saturday, 22 June, 2013 13:05
  >     *Subject:* Is Wx::DateTime fully implemented in WxPerl?
  >
  >     Dear esteemed wxPerl experts
  >
  >     Is Wx::DateTime fully implemented in WxPerl?
  >     These three statements work fine:
  >     use Wx::DateTime;
  >     #...
  >     $date_to_wx = Wx::DateTime->new;
  >     # ...
  >     $time_from_ctrl->SetValue($time_from_wx); # (where $time_from_ctrl
  >     is a Wx::TimePickerCtrl)
  >     # ...
  >     $time_from_ctrl->GetValue($time_from_wx);
  >     But, when trying one of these:
  >     $timeformat = '%T';
  >     #...
  >     $time_from_wx = Wx::DateTime->ParseFormat('0:0:0', $timeformat);
  >     or trying:
  >     $time_from_wx = Wx::DateTime->ParseTime('0:0:0');
  >     it bumps with: "Can't locate object method "ParseFormat" via package
  >     "Wx::DateTime" at ... line ..."
  >     (Same for ParseTime).
  >     ParseTime and ParseFormat are wxWidgets DateTime methods.
  >     Am I missing something, or calling with a wrong syntax?
  >     Where can you find all implemented methods for wxPerl Wx::DateTime?
  >     Many TIA
  >     Helen
  >     NB My system: Windows 7, Citrus Perl 5.16.3, wxWidgets 2.9.4
  >

Reply via email to