Added 'Go' button for quickly saving setup or configure file

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21207 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart 2003-06-17 16:23:49 +00:00
parent d2739ea6db
commit afc5159044
15 changed files with 1525 additions and 675 deletions

File diff suppressed because it is too large Load Diff

View File

@ -386,6 +386,8 @@ with files.
\twocolitem{{\bf Save Setup.h...} (Ctrl+H)}{Saves the generated setup.h file in the specified location.}
\twocolitem{{\bf Save Configure Script...} (Ctrl+G)}{Saves the generated script containing a configure command in the specified location.}
\twocolitem{\hrule}{\htmlonly{\hrule}}
\twocolitem{{\bf Go} (F5)}{Saves the generated setup.h file or configurewx.sh script (according to the default setting) in the last-saved.}
\twocolitem{\hrule}{\htmlonly{\hrule}}
\twocolitem{{\bf Exit} (Alt+F4)}{Exits the program.}
\end{twocollist}
@ -494,6 +496,8 @@ commands.
\twocolitem{\image{}{cut.png}{\bf Cut}}{Cuts the selected option and copies it to the internal clipboard..}
\twocolitem{\image{}{paste.png}{\bf Paste}}{Pastes the option from the clipboard to the configuration tree.}
\twocolitem{\hrule}{\htmlonly{\hrule}}
\twocolitem{\image{}{go.png}{\bf Go}}{Saves the generated setup.h file or configurewx.sh script (according to the default setting) in the last-saved.}
\twocolitem{\hrule}{\htmlonly{\hrule}}
\twocolitem{\image{}{help.png}{\bf Help}}{Shows the wxWindows manual topic for the
\twocolitem{\image{}{helpcs.png}{\bf Context Help}}{Shows a context-sensitive help
cursor; click on a window to show brief help about that window.}
@ -605,6 +609,11 @@ or group. For each radio option, all other mutually
exclusive options need to be listed. See the
{\bf Target} group for an example of this.
The results of these dependencies can be overridden by
indeterminate-if, which is done last of all and can
make the option user-selectable when otherwise it
would be constrained to be enabled or disabled.
\section{How \ctshortname generates the configure commands}
If the {\bf configure} property isn't empty,
@ -657,8 +666,8 @@ if the option is constrained to always be disabled
or enabled in the current context, then it is greyed out
(deactivated) to prevent the user from changing the state.
There are four kinds of dependencies: requires, precludes,
enabled-if, and enabled-if-not. Each one represents a
There are five kinds of dependencies: requires, precludes,
enabled-if, enabled-if-not, and indeterminate-if. Each one represents a
relationship between the current option (a) and one
or more named options (b). For the sake of argument
we will consider only one other option, but multiple
@ -715,6 +724,24 @@ For example, wxUSE_TOOLBAR_SIMPLE enabled-if-not wxUSE_TOOLBAR_NATIVE.
1 1
\end{verbatim}
5. a {\bf indeterminate-if} b
For example, wxUSE_UNICODE indeterminate-if Custom.
\begin{verbatim}
a b
? 1
\end{verbatim}
This overrides all the other dependencies, and allows you
to make an option user-choosable in some circumstances,
when otherwise it would be constrained to be either enabled or
disabled. You may need to use an intermediate option to
make sensible use of this: for example make the intermediate
option dependent on a number of factors, such as Unicode not being
available on some platforms.
\section{How to specify platform-specific dependencies}\label{platformdependencies}
You can associate one or more options as part of the

Binary file not shown.

After

Width:  |  Height:  |  Size: 261 B

View File

@ -75,6 +75,7 @@ ctSettings::ctSettings()
m_frameworkDir = wxEmptyString;
m_matchWholeWord = FALSE;
m_matchCase = FALSE;
m_defaultFileKind = wxT("Setup file");
}
// Copy constructor
@ -95,7 +96,7 @@ void ctSettings::operator = (const ctSettings& settings)
void ctSettings::Copy (const ctSettings& settings)
{
m_currentDocumentDir = settings.m_currentDocumentDir;
m_lastSetupSaveDir = settings.m_lastSetupSaveDir;
m_lastDocument = settings.m_lastDocument;
m_showToolBar = settings.m_showToolBar;
m_frameSize = settings.m_frameSize;
@ -118,12 +119,13 @@ void ctSettings::Copy (const ctSettings& settings)
m_frameworkDir = settings.m_frameworkDir;
m_matchWholeWord = settings.m_matchWholeWord;
m_matchCase = settings.m_matchCase;
m_defaultFileKind = settings.m_defaultFileKind ;
}
// Do some initialisation within stApp::OnInit
bool ctSettings::Init()
{
m_currentDocumentDir = wxEmptyString;
m_lastSetupSaveDir = wxEmptyString;
if (m_userName.IsEmpty())
m_userName = wxGetUserName();
@ -164,7 +166,7 @@ bool ctSettings::LoadConfig()
wxConfig config(wxGetApp().GetSettings().GetAppName(), wxT("wxWindows"));
config.Read(wxT("Files/LastFile"), & m_lastFilename);
config.Read(wxT("Files/DocumentDir"), & m_currentDocumentDir);
config.Read(wxT("Files/LastSetupSaveDir"), & m_lastSetupSaveDir);
config.Read(wxT("Files/ExportDir"), & m_exportDir);
config.Read(wxT("Files/FrameworkDir"), & m_frameworkDir);
config.Read(wxT("Files/UseEnvironmentVariable"), (bool*) & m_useEnvironmentVariable);
@ -179,6 +181,7 @@ bool ctSettings::LoadConfig()
config.Read(wxT("Misc/ShowTrayIcon"), (bool*) & m_showTrayIcon);
config.Read(wxT("Misc/MatchWholeWord"), (bool*) & m_matchWholeWord);
config.Read(wxT("Misc/MatchCase"), (bool*) & m_matchCase);
config.Read(wxT("Misc/BuildMode"), & m_defaultFileKind );
m_noUses ++;
@ -224,7 +227,7 @@ bool ctSettings::SaveConfig()
wxConfig config(wxGetApp().GetSettings().GetAppName(), wxT("wxWindows"));
config.Write(wxT("Files/LastFile"), m_lastFilename);
config.Write(wxT("Files/DocumentDir"), m_currentDocumentDir);
config.Write(wxT("Files/LastSetupSaveDir"), m_lastSetupSaveDir);
config.Write(wxT("Files/ExportDir"), m_exportDir);
config.Write(wxT("Files/FrameworkDir"), m_frameworkDir);
config.Write(wxT("Files/UseEnvironmentVariable"), m_useEnvironmentVariable);
@ -239,6 +242,7 @@ bool ctSettings::SaveConfig()
config.Write(wxT("Misc/ShowTrayIcon"), (long) m_showTrayIcon);
config.Write(wxT("Misc/MatchWholeWord"), (long) m_matchWholeWord);
config.Write(wxT("Misc/MatchCase"), (long) m_matchCase);
config.Write(wxT("Misc/BuildMode"), m_defaultFileKind);
config.Write(wxT("Windows/ShowToolBar"), m_showToolBar);
config.Write(wxT("Windows/WindowX"), (long) m_frameSize.x);

View File

@ -87,7 +87,7 @@ public:
bool GetFirstTimeRun() const { return m_firstTimeRun; }
public:
wxString m_currentDocumentDir; // Not yet used
wxString m_lastSetupSaveDir; // Not yet used
wxString m_lastDocument; // Last document
bool m_showToolBar;
bool m_smallToolbar;
@ -118,6 +118,9 @@ public:
bool m_showTrayIcon;
bool m_trayIconIsShown;
// "Setup file" or "Configure script"
wxString m_defaultFileKind;
// Search settings
bool m_matchCase;
bool m_matchWholeWord;

View File

@ -0,0 +1,20 @@
/* XPM */
static char *go_xpm[] = {
"16 15 2 1",
" c None",
". c #000000",
" ",
" .. ",
" ... ",
" .... ",
" ..... ",
" ...... ",
" ....... ",
" ........ ",
" ....... ",
" ...... ",
" ..... ",
" .... ",
" ... ",
" .. ",
" "};

View File

@ -220,6 +220,12 @@ void ctConfigItem::InitProperties()
wxVariant(wxT(""), wxT("enabled-if-not")),
wxT("configitems")));
m_properties.AddProperty(
new ctProperty(
wxT("<B>Indeterminate-if</B><P> When any of these settings are 1, this setting becomes active and indeterminate. Taking wxUSE_UNICODE as an example:<P>If Custom is 1, wxUSE_UNICODE is indeterminate."),
wxVariant(wxT(""), wxT("indeterminate-if")),
wxT("configitems")));
m_properties.AddProperty(
new ctProperty(
wxT("<B>Exclusivity</B><P> The settings that are mutually exclusive with this one."),
@ -266,6 +272,7 @@ void ctConfigItem::ApplyProperty(ctProperty* prop, const wxVariant& oldValue)
name == wxT("precludes") ||
name == wxT("enabled-if") ||
name == wxT("enabled-if-not") ||
name == wxT("indeterminate-if") ||
name == wxT("context"))
{
doc->RefreshDependencies();
@ -481,11 +488,14 @@ bool ctConfigItem::IsInActiveContext()
/// then this one is disabled (and inactive).
void ctConfigItem::EvaluateDependencies()
{
// For debugging purposes
wxString name = GetName();
wxList items;
wxString requires = GetPropertyString(wxT("requires"));
wxString precludes = GetPropertyString(wxT("precludes"));
wxString enabledIf = GetPropertyString(wxT("enabled-if"));
wxString enabledIfNot = GetPropertyString(wxT("enabled-if-not"));
wxString indeterminateIf = GetPropertyString(wxT("indeterminate-if"));
bool active = TRUE;
bool enabled = IsEnabled();
@ -581,6 +591,7 @@ void ctConfigItem::EvaluateDependencies()
for ( wxNode* node = items.GetFirst(); node; node = node->GetNext() )
{
ctConfigItem* otherItem = (ctConfigItem*) node->GetData();
wxString otherName = otherItem->GetName();
if (inActiveContext && otherItem->IsInActiveContext())
{
@ -608,6 +619,44 @@ void ctConfigItem::EvaluateDependencies()
{
StringToItems(GetDocument()->GetTopItem(), precludes, items);
int enabledCount = 0;
// int disabledCount = 0;
int inContextCount = 0;
for ( wxNode* node = items.GetFirst(); node; node = node->GetNext() )
{
ctConfigItem* otherItem = (ctConfigItem*) node->GetData();
if (inActiveContext && otherItem->IsInActiveContext())
{
// Make this disabled and inactive, _unless_ it's
// already been explicitly enabled in the previous
// requires evaluation (it really _has_ to be on)
// if (!otherItem->IsEnabled())
if (otherItem->IsEnabled())
{
enabledCount ++;
// disabledCount ++;
}
inContextCount ++;
}
}
// Disable if there were no related items that were disabled
if (inContextCount > 0 && (enabledCount > 0) && !explicitlyEnabled)
// if (inContextCount > 0 && (disabledCount > 0) && !explicitlyEnabled)
{
enabled = FALSE;
active = FALSE;
explicitlyDisabled = TRUE;
}
}
// Indeterminate overrides the others, and
// makes the item active.
items.Clear();
if (!indeterminateIf.IsEmpty())
{
StringToItems(GetDocument()->GetTopItem(), indeterminateIf, items);
int enabledCount = 0;
int inContextCount = 0;
for ( wxNode* node = items.GetFirst(); node; node = node->GetNext() )
@ -616,20 +665,18 @@ void ctConfigItem::EvaluateDependencies()
if (inActiveContext && otherItem->IsInActiveContext())
{
// Make this enabled and inactive, _unless_ it's
// already been explicitly disabled in the previous
// requires evaluation (it really _has_ to be off)
if (otherItem->IsEnabled())
{
enabledCount ++;
}
inContextCount ++;
}
}
// Disable if there were no related items that were disabled
if (inContextCount > 0 && (enabledCount == inContextCount) && !explicitlyEnabled)
if (inContextCount > 0 && enabledCount > 0)
{
enabled = FALSE;
active = FALSE;
active = TRUE;
explicitlyEnabled = FALSE;
explicitlyDisabled = FALSE;
}
}
@ -637,6 +684,13 @@ void ctConfigItem::EvaluateDependencies()
// context is active. If not, make this inactive.
if (!IsInActiveContext())
active = FALSE;
else
{
// If we didn't explicitly enable or disable it,
// then we should make it active.
if (!explicitlyEnabled && !explicitlyDisabled)
active = TRUE;
}
SetActive(active);

View File

@ -575,6 +575,7 @@ void ctConfigToolDoc::RefreshDependencies(ctConfigItem* item)
wxString precludes = item->GetPropertyString(wxT("precludes"));
wxString enabledIf = item->GetPropertyString(wxT("enabled-if"));
wxString enabledIfNot = item->GetPropertyString(wxT("enabled-if-not"));
wxString indeterminateIf = item->GetPropertyString(wxT("indeterminate-if"));
wxString context = item->GetPropertyString(wxT("context"));
if (!requires.IsEmpty())
@ -589,6 +590,9 @@ void ctConfigToolDoc::RefreshDependencies(ctConfigItem* item)
if (!enabledIf.IsEmpty())
item->StringToArray(enabledIf, requiresArr);
if (!indeterminateIf.IsEmpty())
item->StringToArray(indeterminateIf, requiresArr);
// Add the parent to the list of dependencies, if the
// parent is a check or radio group.
ctConfigItem* parent = item->GetParent();

View File

@ -91,6 +91,9 @@ BEGIN_EVENT_TABLE(ctConfigToolView, wxView)
EVT_MENU(wxID_FIND, ctConfigToolView::OnFind)
EVT_UPDATE_UI(wxID_FIND, ctConfigToolView::OnUpdateFind)
EVT_MENU(ctID_GO, ctConfigToolView::OnGo)
EVT_UPDATE_UI(ctID_GO, ctConfigToolView::OnUpdateGo)
END_EVENT_TABLE()
ctConfigToolView::ctConfigToolView()
@ -352,11 +355,17 @@ void ctConfigToolView::OnIconLeftDown(ctConfigTreeCtrl* treeControl, ctConfigIte
SyncItem(treeControl, item);
wxList considered;
item->PropagateChange(considered);
if ((item->GetType() == ctTypeBoolRadio || item->GetType() == ctTypeRadioGroup) && item->IsEnabled())
{
item->PropagateRadioButton(considered);
}
item->PropagateChange(considered);
// Update the setup.h and configure text
if (wxGetApp().GetMainFrame()->GetMainNotebook()->GetSelection() > 0)
{
RegenerateSetup();
}
}
}
@ -905,7 +914,9 @@ void ctConfigToolView::OnSaveSetupFile(wxCommandEvent& event)
wxString setupStr = doc->GenerateSetup();
wxString filename = _T("setup.h");
wxString path = doc->GetFrameworkDir(FALSE);
wxString path = wxGetApp().GetSettings().m_lastSetupSaveDir;
if (path.IsEmpty())
path = doc->GetFrameworkDir(FALSE);
wxString wildcard = _T("Header files (*.h)|*.h|All files (*.*)|*.*");
wxFileDialog dialog(wxTheApp->GetTopWindow(),
@ -916,8 +927,7 @@ void ctConfigToolView::OnSaveSetupFile(wxCommandEvent& event)
if (dialog.ShowModal() == wxID_OK)
{
wxString fullPath = dialog.GetPath();
// TODO: save last saved path in settings.
wxGetApp().GetSettings().m_lastSetupSaveDir = wxPathOnly(fullPath);
wxFileOutputStream stream(fullPath);
if (!stream.Ok())
@ -936,7 +946,9 @@ void ctConfigToolView::OnSaveConfigureCommand(wxCommandEvent& event)
wxString configureStr = doc->GenerateConfigureCommand();
wxString filename = _T("configurewx.sh");
wxString path = doc->GetFrameworkDir(FALSE);
wxString path = wxGetApp().GetSettings().m_lastSetupSaveDir;
if (path.IsEmpty())
path = doc->GetFrameworkDir(FALSE);
wxString wildcard = _T("Shell script files (*.sh)|*.sh|All files (*.*)|*.*");
wxFileDialog dialog(wxTheApp->GetTopWindow(),
@ -947,8 +959,7 @@ void ctConfigToolView::OnSaveConfigureCommand(wxCommandEvent& event)
if (dialog.ShowModal() == wxID_OK)
{
wxString fullPath = dialog.GetPath();
// TODO: save last saved path in settings.
wxGetApp().GetSettings().m_lastSetupSaveDir = wxPathOnly(fullPath);
wxFileOutputStream stream(fullPath);
if (!stream.Ok())
@ -1003,6 +1014,75 @@ void ctConfigToolView::OnUpdateFind(wxUpdateUIEvent& event)
event.Enable(TRUE);
}
/// Save default file type
void ctConfigToolView::OnGo(wxCommandEvent& event)
{
ctConfigToolDoc* doc = (ctConfigToolDoc*) GetDocument();
wxString path = wxGetApp().GetSettings().m_lastSetupSaveDir;
if (!path.IsEmpty())
{
if (wxGetApp().GetSettings().m_defaultFileKind == wxT("Setup file"))
{
// setup.h
wxString setupStr = doc->GenerateSetup();
wxString fullPath = path + wxFILE_SEP_PATH + wxT("setup.h");
if (wxFileExists(fullPath))
{
wxString msg;
msg.Printf(wxT("Overwrite existing file %s?"), (const wxChar*) fullPath);
int ans = wxMessageBox(msg, _("Save Setup File"), wxICON_QUESTION|wxYES_NO|wxCANCEL);
if (ans == wxCANCEL)
return;
if (ans == wxNO)
return;
}
wxFileOutputStream stream(fullPath);
if (!stream.Ok())
{
wxMessageBox(_("Sorry, could not save this file."), _("Save Setup File"), wxICON_EXCLAMATION|wxOK);
return;
}
stream << setupStr;
}
else if (wxGetApp().GetSettings().m_defaultFileKind == wxT("Configure script"))
{
// configurewx.sh
wxString configureStr = doc->GenerateConfigureCommand();
wxString fullPath = path + wxFILE_SEP_PATH + wxT("configurewx.sh");
if (wxFileExists(fullPath))
{
wxString msg;
msg.Printf(wxT("Overwrite existing file %s?"), (const wxChar*) fullPath);
int ans = wxMessageBox(msg, _("Save Configure Script"), wxICON_QUESTION|wxYES_NO|wxCANCEL);
if (ans == wxCANCEL)
return;
if (ans == wxNO)
return;
}
wxFileOutputStream stream(fullPath);
if (!stream.Ok())
{
wxMessageBox(_("Sorry, could not save this file."), _("Save Configure Script"), wxICON_EXCLAMATION|wxOK);
return;
}
stream << configureStr;
}
else
{
wxMessageBox(wxT("Unrecognised default file type."));
}
}
}
/// Update
void ctConfigToolView::OnUpdateGo(wxUpdateUIEvent& event)
{
wxString path = wxGetApp().GetSettings().m_lastSetupSaveDir;
event.Enable(!path.IsEmpty());
}
//----------------------------------------------------------------------------
// ctFindReplaceDialog
//----------------------------------------------------------------------------

View File

@ -199,6 +199,14 @@ public:
/// Update find text
void OnUpdateFind(wxUpdateUIEvent& event);
// Go (now: save setup.h or configurewx.sh. later: invoke configure/make)
/// Save default file type
void OnGo(wxCommandEvent& event);
/// Update
void OnUpdateGo(wxUpdateUIEvent& event);
DECLARE_EVENT_TABLE()
protected:

View File

@ -46,6 +46,7 @@
#include "bitmaps/undo.xpm"
#include "bitmaps/redo.xpm"
#include "bitmaps/helpcs.xpm"
#include "bitmaps/go.xpm"
IMPLEMENT_CLASS(ctMainFrame, wxDocParentFrame)
@ -82,6 +83,8 @@ BEGIN_EVENT_TABLE(ctMainFrame, wxDocParentFrame)
EVT_UPDATE_UI(ctID_SAVE_CONFIGURE_COMMAND, ctMainFrame::OnUpdateDisable)
EVT_UPDATE_UI(wxID_FIND, ctMainFrame::OnUpdateDisable)
EVT_UPDATE_UI(ctID_GO, ctMainFrame::OnUpdateDisable)
END_EVENT_TABLE()
// Define my frame constructor
@ -222,7 +225,7 @@ void ctMainFrame::InitToolBar(wxToolBar* toolBar)
toolBarBitmaps[3] = wxBitmap(copy_xpm);
toolBarBitmaps[4] = wxBitmap(cut_xpm);
toolBarBitmaps[5] = wxBitmap(paste_xpm);
// toolBarBitmaps[6] = wxBitmap(print_xpm);
toolBarBitmaps[6] = wxBitmap(go_xpm);
toolBarBitmaps[7] = wxBitmap(help_xpm);
toolBarBitmaps[10] = wxBitmap(undo_xpm);
toolBarBitmaps[11] = wxBitmap(redo_xpm);
@ -241,6 +244,8 @@ void ctMainFrame::InitToolBar(wxToolBar* toolBar)
toolBar->AddTool(wxID_UNDO, toolBarBitmaps[10], wxNullBitmap, FALSE, -1, -1, (wxObject *) NULL, wxT("Undo"));
toolBar->AddTool(wxID_REDO, toolBarBitmaps[11], wxNullBitmap, FALSE, -1, -1, (wxObject *) NULL, wxT("Redo"));
toolBar->AddSeparator();
toolBar->AddTool(ctID_GO, toolBarBitmaps[6], wxNullBitmap, FALSE, -1, -1, (wxObject *) NULL, wxT("Save setup.h or configurewx.sh"));
toolBar->AddSeparator();
toolBar->AddTool(ctID_ITEM_HELP, toolBarBitmaps[12], wxNullBitmap, FALSE, -1, -1, (wxObject *) NULL, wxT("Show help for this option"));
toolBar->AddTool(wxID_HELP_CONTEXT, toolBarBitmaps[13], wxNullBitmap, FALSE, -1, -1, (wxObject *) NULL, wxT("Show help on the clicked item"));
@ -266,6 +271,8 @@ wxMenuBar* ctMainFrame::CreateMenuBar()
fileMenu->Append(ctID_SAVE_SETUP_FILE, wxT("Save Setup.&h...\tCtrl+H"), wxT("Save the setup.h file"));
fileMenu->Append(ctID_SAVE_CONFIGURE_COMMAND, wxT("Save Configure Script...\tCtrl+G"), wxT("Save the configure script file"));
fileMenu->AppendSeparator();
fileMenu->Append(ctID_GO, wxT("&Go\tF5"), wxT("Quick-save the setup.h or configure.sh file"));
fileMenu->AppendSeparator();
fileMenu->Append(wxID_EXIT, wxT("E&xit\tAlt+F4"), wxT("Exit the application"));
wxGetApp().GetDocManager()->FileHistoryUseMenu(fileMenu);

View File

@ -82,28 +82,28 @@ void ctSettingsDialog::CreateControls()
wxNotebookSizer* item3Sizer = new wxNotebookSizer(item3);
ctGeneralSettingsDialog* item4 = new ctGeneralSettingsDialog(item3, ID_GENERAL_SETTINGS_DIALOG, wxDefaultPosition, wxSize(100, 80), 0);
item3->AddPage(item4, _("General"));
ctLocationSettingsDialog* item9 = new ctLocationSettingsDialog(item3, ID_LOCATION_SETTINGS_DIALOG, wxDefaultPosition, wxSize(100, 80), 0);
item3->AddPage(item9, _("Locations"));
ctLocationSettingsDialog* item11 = new ctLocationSettingsDialog(item3, ID_LOCATION_SETTINGS_DIALOG, wxDefaultPosition, wxSize(100, 80), 0);
item3->AddPage(item11, _("Locations"));
item2->Add(item3Sizer, 0, wxGROW|wxALL, 5);
wxBoxSizer* item19 = new wxBoxSizer(wxHORIZONTAL);
item2->Add(item19, 0, wxGROW|wxALL, 5);
wxBoxSizer* item21 = new wxBoxSizer(wxHORIZONTAL);
item2->Add(item21, 0, wxGROW|wxALL, 5);
item19->Add(5, 5, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
item21->Add(5, 5, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
wxButton* item21 = new wxButton(item1, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0);
item21->SetDefault();
item19->Add(item21, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
wxButton* item23 = new wxButton(item1, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0);
item23->SetDefault();
item21->Add(item23, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
wxButton* item22 = new wxButton(item1, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, 0);
item19->Add(item22, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
wxButton* item24 = new wxButton(item1, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, 0);
item21->Add(item24, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
wxButton* item23 = new wxButton(item1, wxID_HELP, _("&Help"), wxDefaultPosition, wxDefaultSize, 0);
item19->Add(item23, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
wxButton* item25 = new wxButton(item1, wxID_HELP, _("&Help"), wxDefaultPosition, wxDefaultSize, 0);
item21->Add(item25, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
#if defined(__WXGTK__) || defined(__WXMAC__)
wxContextHelpButton* item24 = new wxContextHelpButton(item1, wxID_CONTEXT_HELP, wxDefaultPosition, wxSize(20, -1), wxBU_AUTODRAW);
item19->Add(item24, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
wxContextHelpButton* item26 = new wxContextHelpButton(item1, wxID_CONTEXT_HELP, wxDefaultPosition, wxSize(20, -1), wxBU_AUTODRAW);
item21->Add(item26, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
#endif
GetSizer()->Fit(this);
@ -219,17 +219,38 @@ void ctGeneralSettingsDialog::CreateControls()
wxCheckBox* item7 = new wxCheckBox(item4, ID_LOAD_LAST_DOCUMENT, _("&Load last document"), wxDefaultPosition, wxDefaultSize, 0);
item7->SetValue(FALSE);
item7->SetHelpText(_("Check to load the last document on startup"));
if (ShowToolTips())
item7->SetToolTip(_("Check to load the last document on startup"));
item6->Add(item7, 0, wxALIGN_LEFT|wxALL, 5);
wxCheckBox* item8 = new wxCheckBox(item4, ID_SHOW_TOOLTIPS, _("&Show tooltips"), wxDefaultPosition, wxDefaultSize, 0);
item8->SetValue(FALSE);
item8->SetHelpText(_("Check to show tooltips"));
if (ShowToolTips())
item8->SetToolTip(_("Check to show tooltips"));
item6->Add(item8, 0, wxALIGN_LEFT|wxALL, 5);
wxStaticText* item9 = new wxStaticText(item4, wxID_STATIC, _("&Default file kind to save when using the Go command:"), wxDefaultPosition, wxDefaultSize, 0);
item6->Add(item9, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
wxString item10Strings[] = {
_("Setup file"),
_("Configure script")
};
wxChoice* item10 = new wxChoice(item4, ID_DEFAULT_FILE_KIND, wxDefaultPosition, wxSize(200, -1), 2, item10Strings, 0);
item10->SetStringSelection(_("Setup file"));
item10->SetHelpText(_("Select the default kind of file to save using Go"));
if (ShowToolTips())
item10->SetToolTip(_("Select the default kind of file to save using Go"));
item6->Add(item10, 0, wxGROW|wxALL, 5);
GetSizer()->Fit(this);
////@end ctGeneralSettingsDialog content construction
FindWindow(ID_LOAD_LAST_DOCUMENT)->SetValidator(wxGenericValidator(& wxGetApp().GetSettings().m_loadLastDocument));
FindWindow(ID_SHOW_TOOLTIPS)->SetValidator(wxGenericValidator(& wxGetApp().GetSettings().m_useToolTips));
FindWindow(ID_DEFAULT_FILE_KIND)->SetValidator(wxGenericValidator(& wxGetApp().GetSettings().m_defaultFileKind));
}
/*!
@ -282,36 +303,45 @@ void ctLocationSettingsDialog::CreateControls()
{
////@begin ctLocationSettingsDialog content construction
ctLocationSettingsDialog* item9 = this;
ctLocationSettingsDialog* item11 = this;
wxBoxSizer* item10 = new wxBoxSizer(wxVERTICAL);
item9->SetSizer(item10);
item9->SetAutoLayout(TRUE);
wxBoxSizer* item12 = new wxBoxSizer(wxVERTICAL);
item11->SetSizer(item12);
item11->SetAutoLayout(TRUE);
wxStaticBox* item11Static = new wxStaticBox(item9, -1, _("Locations"));
wxStaticBoxSizer* item11 = new wxStaticBoxSizer(item11Static, wxVERTICAL);
item10->Add(item11, 1, wxGROW|wxALL, 5);
wxStaticBox* item13Static = new wxStaticBox(item11, -1, _("Locations"));
wxStaticBoxSizer* item13 = new wxStaticBoxSizer(item13Static, wxVERTICAL);
item12->Add(item13, 1, wxGROW|wxALL, 5);
wxStaticText* item12 = new wxStaticText(item9, wxID_STATIC, _("&wxWindows hierarchy:"), wxDefaultPosition, wxDefaultSize, 0);
item11->Add(item12, 0, wxALIGN_LEFT|wxALL|wxADJUST_MINSIZE, 5);
wxStaticText* item14 = new wxStaticText(item11, wxID_STATIC, _("&wxWindows hierarchy:"), wxDefaultPosition, wxDefaultSize, 0);
item13->Add(item14, 0, wxALIGN_LEFT|wxALL|wxADJUST_MINSIZE, 5);
wxBoxSizer* item13 = new wxBoxSizer(wxHORIZONTAL);
item11->Add(item13, 0, wxGROW, 5);
wxBoxSizer* item15 = new wxBoxSizer(wxHORIZONTAL);
item13->Add(item15, 0, wxGROW, 5);
wxTextCtrl* item14 = new wxTextCtrl(item9, ID_WXWIN_HIERARCHY, _(""), wxDefaultPosition, wxSize(200, -1), 0);
item13->Add(item14, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
wxTextCtrl* item16 = new wxTextCtrl(item11, ID_WXWIN_HIERARCHY, _(""), wxDefaultPosition, wxSize(200, -1), 0);
item16->SetHelpText(_("Enter the root path of the wxWindows hierarchy"));
if (ShowToolTips())
item16->SetToolTip(_("Enter the root path of the wxWindows hierarchy"));
item15->Add(item16, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
wxButton* item15 = new wxButton(item9, ID_CHOOSE_WXWIN_HIERARCHY, _("&Choose..."), wxDefaultPosition, wxDefaultSize, 0);
item13->Add(item15, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
wxButton* item17 = new wxButton(item11, ID_CHOOSE_WXWIN_HIERARCHY, _("&Choose..."), wxDefaultPosition, wxDefaultSize, 0);
item17->SetHelpText(_("Click to choose the root path of the wxWindows hierarchy\\n"));
if (ShowToolTips())
item17->SetToolTip(_("Click to choose the root path of the wxWindows hierarchy\\n"));
item15->Add(item17, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
wxBoxSizer* item16 = new wxBoxSizer(wxHORIZONTAL);
item11->Add(item16, 0, wxGROW, 5);
wxBoxSizer* item18 = new wxBoxSizer(wxHORIZONTAL);
item13->Add(item18, 0, wxGROW, 5);
item16->Add(60, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
item18->Add(60, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
wxCheckBox* item18 = new wxCheckBox(item9, ID_USE_WXWIN, _("&Use WXWIN environment variable"), wxDefaultPosition, wxDefaultSize, 0);
item18->SetValue(FALSE);
item16->Add(item18, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
wxCheckBox* item20 = new wxCheckBox(item11, ID_USE_WXWIN, _("&Use WXWIN environment variable"), wxDefaultPosition, wxDefaultSize, 0);
item20->SetValue(FALSE);
item20->SetHelpText(_("Check to use the value of WXWIN instead"));
if (ShowToolTips())
item20->SetToolTip(_("Check to use the value of WXWIN instead"));
item18->Add(item20, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
GetSizer()->Fit(this);
////@end ctLocationSettingsDialog content construction

View File

@ -42,6 +42,7 @@ class ctLocationSettingsDialog;
#define ID_GENERAL_SETTINGS_DIALOG 10005
#define ID_LOAD_LAST_DOCUMENT 10006
#define ID_SHOW_TOOLTIPS 10007
#define ID_DEFAULT_FILE_KIND 10003
#define ID_LOCATION_SETTINGS_DIALOG 10008
#define ID_WXWIN_HIERARCHY 10010
#define ID_CHOOSE_WXWIN_HIERARCHY 10011

View File

@ -136,6 +136,7 @@ DECLARE_APP(ctApp)
// File menu ids
#define ctID_SAVE_SETUP_FILE 1001
#define ctID_SAVE_CONFIGURE_COMMAND 1002
#define ctID_GO 1003
// Edit menu ids
#define ctID_ADD_ITEM 1030

File diff suppressed because it is too large Load Diff