示例#1
0
void Config::OnChangeStyle(wxCommandEvent& event)
{
  style* tmp = GetStylePointer();
  int st = m_styleFor->GetSelection();

  m_styleColor->SetBackgroundColour(tmp->color);

  if (st >= 12 && st <= 15)
    m_getStyleFont->Enable(true);
  else
    m_getStyleFont->Enable(false);

  // Background color only
  if (st >= 16)
  {
    m_boldCB->Enable(false);
    m_italicCB->Enable(false);
    m_underlinedCB->Enable(false);
  }
  else
  {
    m_boldCB->Enable(true);
    m_italicCB->Enable(true);
    m_underlinedCB->Enable(true);
    m_boldCB->SetValue(tmp->bold);
    m_italicCB->SetValue(tmp->italic);
    m_underlinedCB->SetValue(tmp->underlined);
  }
  UpdateExample();
}
示例#2
0
void Config::OnCheckbox(wxCommandEvent& event)
{
  style* tmp = GetStylePointer();

  tmp->bold = m_boldCB->GetValue();
  tmp->italic = m_italicCB->GetValue();
  tmp->underlined = m_underlinedCB->GetValue();

  UpdateExample();
}
示例#3
0
void Config::OnChangeColor()
{
  style* tmp = GetStylePointer();
  wxColour col = wxGetColourFromUser(this, tmp->color);
  if (col.IsOk())
  {
    tmp->color = col.GetAsString(wxC2S_CSS_SYNTAX);
    UpdateExample();
    m_styleColor->SetBackgroundColour(tmp->color);
  }
}
示例#4
0
Config::Config(wxWindow* parent)
{
#if defined __WXMAC__
#if wxCHECK_VERSION(2,9,1)
  SetSheetStyle(wxPROPSHEET_BUTTONTOOLBOOK | wxPROPSHEET_SHRINKTOFIT);
#else
  SetSheetStyle(wxPROPSHEET_LISTBOOK | wxPROPSHEET_SHRINKTOFIT);
#endif
#else
  SetSheetStyle(wxPROPSHEET_LISTBOOK);
#endif
  SetSheetInnerBorder(3);
  SetSheetOuterBorder(3);

#if defined __WXMAC__
  #define IMAGE(img) wxImage(wxT("wxMaxima.app/Contents/Resources/config/") wxT(img))
#elif defined __WXMSW__
  #define IMAGE(img) wxImage(wxT("art/config/") wxT(img))
#else
  wxString prefix = wxT(PREFIX);
  #define IMAGE(img) wxImage(prefix + wxT("/share/wxMaxima/") + wxT(img))
#endif

  wxSize imageSize(32, 32);
  m_imageList = new wxImageList(32, 32);
  m_imageList->Add(IMAGE("options.png"));
  m_imageList->Add(IMAGE("maxima.png"));
  m_imageList->Add(IMAGE("styles.png"));

  Create(parent, wxID_ANY, _("wxMaxima configuration"),
      wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE);

  m_notebook = GetBookCtrl();

  m_notebook->SetImageList(m_imageList);

  m_notebook->AddPage(CreateOptionsPanel(), _("Options"), true, 0);
  m_notebook->AddPage(CreateMaximaPanel(), _("Maxima"), false, 1);
  m_notebook->AddPage(CreateStylePanel(), _("Style"), false, 2);

#ifndef __WXMAC__
  CreateButtons(wxOK | wxCANCEL);
#endif

  LayoutDialog();

  SetProperties();
  UpdateExample();
}
示例#5
0
void Config::OnMathBrowse(wxCommandEvent& event)
{
  wxFont math;
  math = wxGetFontFromUser(this, wxFont(m_mathFontSize, wxFONTFAMILY_DEFAULT,
                                        wxFONTSTYLE_NORMAL, wxFONTWEIGHT_NORMAL,
                                        false, m_mathFontName));

  if (math.Ok())
  {
    m_mathFontName = math.GetFaceName();
    m_mathFontSize = math.GetPointSize();
    m_getMathFont->SetLabel(m_mathFontName + wxString::Format(wxT(" (%d)"), m_mathFontSize));
    UpdateExample();
  }
}
示例#6
0
void Config::OnChangeFontFamily(wxCommandEvent& event)
{
  wxFont font;
  int fontsize = m_fontSize;
  style *tmp = GetStylePointer();
  wxString fontName;

  if (tmp == &m_styleText || tmp == &m_styleTitle || tmp == &m_styleSubsection || tmp == &m_styleSection)
  {
    if (tmp->fontSize != 0)
      fontsize = tmp->fontSize;
    fontName = tmp->font;
  }
  else
    fontName = m_styleDefault.font;

  font = wxGetFontFromUser(this, wxFont(fontsize,
                                        wxFONTFAMILY_DEFAULT, wxFONTSTYLE_NORMAL,
                                        wxFONTWEIGHT_NORMAL,
                                        false, fontName,
                                        m_fontEncoding));
  if (font.Ok())
  {
    if (event.GetId() == font_family)
    {
      m_styleDefault.font = font.GetFaceName();
      m_fontEncoding = font.GetEncoding();
      m_fontSize = font.GetPointSize();
      m_fontSize = MIN(m_fontSize, MC_MAX_SIZE);
      m_fontSize = MAX(m_fontSize, MC_MIN_SIZE);
      m_getFont->SetLabel(m_styleDefault.font + wxString::Format(wxT(" (%d)"), m_fontSize));
    }
    else
    {
      tmp->font = font.GetFaceName();
      tmp->fontSize = font.GetPointSize();
      tmp->fontSize = MAX(tmp->fontSize, MC_MIN_SIZE);
    }
    UpdateExample();
  }
}
示例#7
0
void Config::LoadSave(wxCommandEvent& event)
{
  if (event.GetId() == save_id)
  {
    wxString file = wxFileSelector(_("Save style to file"),
        wxEmptyString, wxT("style.ini"), wxT("ini"),
        _("Config file (*.ini)|*.ini"),
        wxFD_SAVE | wxFD_OVERWRITE_PROMPT);
    if (file != wxEmptyString)
      WriteStyles(file);
  }
  else {
    wxString file = wxFileSelector(_("Load style from file"),
        wxEmptyString, wxT("style.ini"), wxT("ini"),
        _("Config file (*.ini)|*.ini"),
        wxFD_OPEN);
    if (file != wxEmptyString)
    {
      ReadStyles(file);
      UpdateExample();
    }
  }
}
示例#8
0
SjSplitPlugin::SjSplitPlugin(wxWindow* parent, SjTrackInfo* exampleTrackInfo)
	: SjTagEditorPlugin(parent, wxT("split"), _("Split field"), exampleTrackInfo, SJ_HELP_TAGEDITOR_SPLIT)
{
	// load configuration
	m_pattern = g_tools->ReadArray(wxT("tageditor/splitPattern"));
	if( m_pattern.IsEmpty() )
	{
		m_pattern.Add(wxT("<Artist>/<Year> <Album>/<Nr> <Title>"));
		m_pattern.Add(wxT("<Year> <Album>/<Nr> <Artist> - <Title>"));
		m_pattern.Add(wxT("<Nr> <Artist> - <Album> - <Title>"));
	}

	m_splitIn = g_tools->m_config->Read(wxT("tageditor/splitIn"), SJ_TI_URL);

	// create dialog
	wxSizer* sizer2 = new wxStaticBoxSizer(new wxStaticBox(this, -1, wxT("")), wxVERTICAL);
	m_sizer1->Add(sizer2, 1, wxGROW|wxALL, SJ_DLG_SPACE);

	wxFlexGridSizer* sizer3 = new wxFlexGridSizer(2, SJ_DLG_SPACE, SJ_DLG_SPACE);
	sizer3->AddGrowableCol(1);
	sizer3->AddGrowableRow(2);
	sizer2->Add(sizer3, 1, wxGROW|wxALL, SJ_DLG_SPACE);

	// field to split
	sizer3->Add(new wxStaticText(this, -1, _("Field to split:")), 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT);

	m_splitInChoice = new SjTrackInfoFieldChoice(this, IDC_SPLITIN);
	m_splitInChoice->AppendFlags(SJ_TI_TRACKNAME
	                             |SJ_TI_LEADARTISTNAME
	                             |SJ_TI_ORGARTISTNAME
	                             |SJ_TI_COMPOSERNAME
	                             |SJ_TI_ALBUMNAME
	                             |SJ_TI_GENRENAME
	                             |SJ_TI_GROUPNAME
	                             |SJ_TI_COMMENT);
	m_splitInChoice->Append(SJ_CHOICE_SEP, (void*)0);
	m_splitInChoice->Append(_("Path and file name"), (void*)SJ_TI_URL);
	SjDialog::SetCbSelection(m_splitInChoice, m_splitIn);
	sizer3->Add(m_splitInChoice, 0, wxALIGN_CENTER_VERTICAL|wxBOTTOM, SJ_DLG_SPACE/2);

	// pattern
	sizer3->Add(new wxStaticText(this, -1, _("Destination fields and pattern:")), 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT);

	wxSizer* sizer4 = new wxBoxSizer(wxHORIZONTAL);
	sizer3->Add(sizer4, 0, wxALIGN_CENTER_VERTICAL|wxGROW);

	m_patternCtrl = new SjHistoryComboBox(this, IDC_PATTERNCB, 360, m_pattern);
	sizer4->Add(m_patternCtrl, 1/*grow*/, wxALIGN_CENTER_VERTICAL|wxRIGHT, SJ_DLG_SPACE);

	m_insertButton = new SjInsertButton(this, IDC_INSERT_BUTTON, IDC_INSERT_FIRST);
	m_insertButton->AddWidthOption  (wxT("<Title>"),    _("Title"));
	m_insertButton->AddSep          ();
	m_insertButton->AddOption       (wxT("<Nr>"),       _("Track number"));
	m_insertButton->AddOption       (wxT("<Nr(1)>"),    _("Track number")+wxString(wxT(" "))+wxString::Format(_("(%i characters)"), 1));
	m_insertButton->AddOption       (wxT("<Nr(2)>"),    _("Track number")+wxString(wxT(" "))+wxString::Format(_("(%i characters)"), 2));
	m_insertButton->AddOption       (wxT("<DiskNr>"),   _("Disk number"));
	m_insertButton->AddOption       (wxT("<DiskNr(1)>"),_("Disk number")+wxString(wxT(" "))+wxString::Format(_("(%i characters)"), 1));
	m_insertButton->AddOption       (wxT("<DiskNr(2)>"),_("Disk number")+wxString(wxT(" "))+wxString::Format(_("(%i characters)"), 2));
	m_insertButton->AddSep          ();
	m_insertButton->AddWidthOption  (wxT("<Artist>"),   _("Artist"));
	m_insertButton->AddWidthOption  (wxT("<OrgArtist>"),_("Original artist"));
	m_insertButton->AddWidthOption  (wxT("<Composer>"), _("Composer"));
	m_insertButton->AddSep          ();
	m_insertButton->AddWidthOption  (wxT("<Album>"),    _("Album"));
	m_insertButton->AddSep          ();
	m_insertButton->AddWidthOption  (wxT("<Genre>"),    _("Genre"));
	m_insertButton->AddWidthOption  (wxT("<Group>"),    _("Group"));
	m_insertButton->AddWidthOption  (wxT("<Comment>"),  _("Comment"));
	m_insertButton->AddSep          ();
	m_insertButton->AddOption       (wxT("<Year>"),     _("Year"));
	m_insertButton->AddOption       (wxT("<Year(2)>"),  _("Year")+wxString(wxT(" "))+wxString::Format(_("(%i characters)"), 2));
	m_insertButton->AddOption       (wxT("<Year(4)>"),  _("Year")+wxString(wxT(" "))+wxString::Format(_("(%i characters)"), 4));
	m_insertButton->AddSep          ();
	m_insertButton->AddOption       (wxT("/"),          _("Directory change"));
	m_insertButton->AddOption       (wxT("*"),          _("Void information"));
	sizer4->Add(m_insertButton, 0, wxALIGN_CENTER_VERTICAL);

	// example
	wxStaticText* staticText = new wxStaticText(this, -1, _("Example:"));
	sizer3->Add(staticText, 0, wxALIGN_TOP|wxALIGN_RIGHT);

	m_exampleCtrl = new wxStaticText(this, -1, wxT("\n\n\n\n\n\n\n\n\n"), wxDefaultPosition, wxDefaultSize, wxST_NO_AUTORESIZE);
	sizer3->Add(m_exampleCtrl, 0, wxALIGN_TOP|wxGROW);

	UpdateExample();
}