Exemple #1
0
ClimatologyConfigDialog::ClimatologyConfigDialog(ClimatologyDialog *parent)
  : ClimatologyConfigDialogBase(parent)
{
    pParent = parent;

#ifdef WIN32 // windows is too slow for very fine steps
    m_cIsoBarStep->Delete(4);
#endif

    m_Settings.Load();
    LoadSettings();
 
    for(int i=0; i<ClimatologyOverlaySettings::SETTINGS_COUNT; i++)
        m_cDataType->Append(SettingName(i));

    m_cDataType->SetSelection(m_lastdatatype);
    PopulateUnits(m_lastdatatype);
    ReadDataTypeSettings(m_lastdatatype);

    m_stVersion->SetLabel(wxString::Format(_T("%d.%d"),
                                           PLUGIN_VERSION_MAJOR, PLUGIN_VERSION_MINOR));
    m_tDataDirectory->SetValue(ClimatologyDataDirectory());

    m_refreshTimer.Connect(wxEVT_TIMER, wxTimerEventHandler( ClimatologyConfigDialog::OnRefreshTimer ), NULL, this);

    DimeWindow( this );
}
// --------------------------------------------------------------------------
// CMSTimeOrDateSettingItem::EditItemL
// --------------------------------------------------------------------------
//
void CMSTimeOrDateSettingItem::EditItemL( TBool  /*aCalledFromMenu*/ )
    {
    // Access to the setting Name
    TPtrC text = SettingName();
    CAknSettingPage* dlg = KErrNone;

    // Launches the setting page resource file
    dlg = new ( ELeave )CAknDateSettingPage( iCMSIdentifier, iCMSInternalTime );

    // Set the edit page to observer
    SetSettingPage( dlg );
    SettingPage()->SetSettingPageObserver( this );

    if( ProtectionState() == CAknSettingItem::ESettingItemViewOnly )
        SettingPage()->SetEditState( EFalse );

    // Change to EUpdateWhenAccepted flag to avoid the checking every time there is an input to the field
    SettingPage()->ExecuteLD( CAknSettingPage::EUpdateWhenAccepted );
    SetSettingPage( 0 );
   }
EXPORT_C void CAknTimeOrDateSettingItem::EditItemL(TBool aCalledFromMenu)
{
  TPtrC name=SettingName();
  CAknSettingPage* page=NULL;
  switch(iTimeOrDateMode)
  {
    case ETime:
      page=new(ELeave)CAknTimeSettingPage(&name,SettingNumber(),EditorControlType(),SettingEditorResourceId(),SettingPageResourceId(),iInternalTime);
      break;
    case EDate:
      page=new(ELeave)CAknDateSettingPage(&name,SettingNumber(),EditorControlType(),SettingEditorResourceId(),SettingPageResourceId(),iInternalTime);
      break;
    default:
      Panic(EAknSettingItemListInvatidDateOrTimeMode);
      break;
  }
  SetSettingPage(page);
  SettingPage()->SetSettingPageObserver(this);
  SettingPage()->ExecuteLD(CAknSettingPage::EUpdateWhenChanged);
  SetSettingPage(NULL);
}