Remove relative include paths
This commit is contained in:
parent
ab0c586b25
commit
3e78b8cd4c
@ -1,4 +1,4 @@
|
|||||||
/**
|
/**
|
||||||
* File: SFTP.h
|
* File: SFTP.h
|
||||||
* Author: twarren
|
* Author: twarren
|
||||||
*
|
*
|
||||||
@ -7,7 +7,7 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "../common.h"
|
#include "src/common.h"
|
||||||
|
|
||||||
// Socket includes
|
// Socket includes
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
@ -15,7 +15,7 @@ static FilePane *filePane = nullptr;
|
|||||||
|
|
||||||
|
|
||||||
// Frame icon
|
// Frame icon
|
||||||
#include "../../resources/xpm/tyro.xpm"
|
#include "resources/xpm/tyro.xpm"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
@ -25,42 +25,42 @@ MainFrame::MainFrame(wxFrame *frame, const wxString &title, const wxSize &size)
|
|||||||
{
|
{
|
||||||
// Create the tab container
|
// Create the tab container
|
||||||
notebook = new TabContainer(this);
|
notebook = new TabContainer(this);
|
||||||
|
|
||||||
filePane = new FilePane(this);
|
filePane = new FilePane(this);
|
||||||
|
|
||||||
// Set the frame icon
|
// Set the frame icon
|
||||||
wxIcon app_icon(tyro_icon);
|
wxIcon app_icon(tyro_icon);
|
||||||
this->SetIcon(app_icon);
|
this->SetIcon(app_icon);
|
||||||
|
|
||||||
// Apply the menu bar to the current frame
|
// Apply the menu bar to the current frame
|
||||||
this->SetMenuBar(Glob_menu_bar);
|
this->SetMenuBar(Glob_menu_bar);
|
||||||
|
|
||||||
// Setup StatusBar
|
// Setup StatusBar
|
||||||
Glob_status_bar = new wxStatusBar(this, wxID_ANY);
|
Glob_status_bar = new wxStatusBar(this, wxID_ANY);
|
||||||
Glob_status_bar->SetFieldsCount(3);
|
Glob_status_bar->SetFieldsCount(3);
|
||||||
|
|
||||||
this->DoLayout();
|
this->DoLayout();
|
||||||
|
|
||||||
this->BindEvents();
|
this->BindEvents();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Time to clean up!
|
* Time to clean up!
|
||||||
*/
|
*/
|
||||||
MainFrame::~MainFrame()
|
MainFrame::~MainFrame()
|
||||||
{
|
{
|
||||||
wxLogDebug("Main Frame Destructor Called.");
|
wxLogDebug("Main Frame Destructor Called.");
|
||||||
//delete notebook;
|
//delete notebook;
|
||||||
//delete toolBar;
|
//delete toolBar;
|
||||||
//delete filePane;
|
//delete filePane;
|
||||||
|
|
||||||
wxDELETE(this->findDlg);
|
wxDELETE(this->findDlg);
|
||||||
wxDELETE(this->findData);
|
wxDELETE(this->findData);
|
||||||
wxDELETE(this->replaceDlg);
|
wxDELETE(this->replaceDlg);
|
||||||
wxDELETE(this->findReplaceData);
|
wxDELETE(this->findReplaceData);
|
||||||
|
|
||||||
Glob_status_bar->Destroy();
|
Glob_status_bar->Destroy();
|
||||||
|
|
||||||
manager->UnInit();
|
manager->UnInit();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -68,12 +68,12 @@ MainFrame::~MainFrame()
|
|||||||
* Layout the widgets on the main frame
|
* Layout the widgets on the main frame
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
void MainFrame::DoLayout()
|
void MainFrame::DoLayout()
|
||||||
{
|
{
|
||||||
this->manager = new wxAuiManager(this);
|
this->manager = new wxAuiManager(this);
|
||||||
this->SetupToolbar();
|
this->SetupToolbar();
|
||||||
|
|
||||||
// Setup properties for each AUI pane
|
// Setup properties for each AUI pane
|
||||||
wxAuiPaneInfo toolBarPaneInfo;
|
wxAuiPaneInfo toolBarPaneInfo;
|
||||||
toolBarPaneInfo
|
toolBarPaneInfo
|
||||||
@ -83,7 +83,7 @@ void MainFrame::DoLayout()
|
|||||||
.DockFixed(true)
|
.DockFixed(true)
|
||||||
.Resizable(true);
|
.Resizable(true);
|
||||||
this->manager->AddPane(toolBar, toolBarPaneInfo);
|
this->manager->AddPane(toolBar, toolBarPaneInfo);
|
||||||
|
|
||||||
wxAuiPaneInfo filePaneInfo;
|
wxAuiPaneInfo filePaneInfo;
|
||||||
filePaneInfo.Left()
|
filePaneInfo.Left()
|
||||||
.MinSize(225, 550)
|
.MinSize(225, 550)
|
||||||
@ -91,11 +91,11 @@ void MainFrame::DoLayout()
|
|||||||
.LeftDockable(true)
|
.LeftDockable(true)
|
||||||
.Resizable(true);
|
.Resizable(true);
|
||||||
this->manager->AddPane(filePane, filePaneInfo);
|
this->manager->AddPane(filePane, filePaneInfo);
|
||||||
|
|
||||||
wxAuiPaneInfo notebookPaneInfo;
|
wxAuiPaneInfo notebookPaneInfo;
|
||||||
notebookPaneInfo.CenterPane();
|
notebookPaneInfo.CenterPane();
|
||||||
this->manager->AddPane(notebook, notebookPaneInfo);
|
this->manager->AddPane(notebook, notebookPaneInfo);
|
||||||
|
|
||||||
wxAuiPaneInfo statusPaneInfo;
|
wxAuiPaneInfo statusPaneInfo;
|
||||||
statusPaneInfo.Bottom()
|
statusPaneInfo.Bottom()
|
||||||
.ToolbarPane()
|
.ToolbarPane()
|
||||||
@ -103,7 +103,7 @@ void MainFrame::DoLayout()
|
|||||||
.DockFixed(true)
|
.DockFixed(true)
|
||||||
.Resizable(true);
|
.Resizable(true);
|
||||||
this->manager->AddPane(Glob_status_bar, statusPaneInfo);
|
this->manager->AddPane(Glob_status_bar, statusPaneInfo);
|
||||||
|
|
||||||
// Update everything
|
// Update everything
|
||||||
this->EnableEditControls(false);
|
this->EnableEditControls(false);
|
||||||
}
|
}
|
||||||
@ -112,7 +112,7 @@ void MainFrame::DoLayout()
|
|||||||
* Create the status bar
|
* Create the status bar
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
void MainFrame::SetupStatusBar()
|
void MainFrame::SetupStatusBar()
|
||||||
{
|
{
|
||||||
CreateStatusBar(3);
|
CreateStatusBar(3);
|
||||||
@ -120,19 +120,19 @@ void MainFrame::SetupStatusBar()
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Create the main toolbar
|
* Create the main toolbar
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
void MainFrame::SetupToolbar()
|
void MainFrame::SetupToolbar()
|
||||||
{
|
{
|
||||||
// Icon files
|
// Icon files
|
||||||
#ifndef __WXGTK__
|
#ifndef __WXGTK__
|
||||||
#include "../../resources/xpm/32/new.xpm"
|
#include "resources/xpm/32/new.xpm"
|
||||||
#include "../../resources/xpm/32/open.xpm"
|
#include "resources/xpm/32/open.xpm"
|
||||||
#include "../../resources/xpm/32/save.xpm"
|
#include "resources/xpm/32/save.xpm"
|
||||||
#include "../../resources/xpm/32/cut.xpm"
|
#include "resources/xpm/32/cut.xpm"
|
||||||
#include "../../resources/xpm/32/copy.xpm"
|
#include "resources/xpm/32/copy.xpm"
|
||||||
#include "../../resources/xpm/32/paste.xpm"
|
#include "resources/xpm/32/paste.xpm"
|
||||||
|
|
||||||
wxBitmap new_file_icon(new_file);
|
wxBitmap new_file_icon(new_file);
|
||||||
wxBitmap open_file_icon(open);
|
wxBitmap open_file_icon(open);
|
||||||
@ -147,8 +147,8 @@ void MainFrame::SetupToolbar()
|
|||||||
wxBitmap copy_icon = wxArtProvider::GetBitmap(wxART_COPY, wxART_TOOLBAR);
|
wxBitmap copy_icon = wxArtProvider::GetBitmap(wxART_COPY, wxART_TOOLBAR);
|
||||||
wxBitmap cut_icon = wxArtProvider::GetBitmap(wxART_CUT, wxART_TOOLBAR);
|
wxBitmap cut_icon = wxArtProvider::GetBitmap(wxART_CUT, wxART_TOOLBAR);
|
||||||
wxBitmap paste_icon = wxArtProvider::GetBitmap(wxART_PASTE, wxART_TOOLBAR);
|
wxBitmap paste_icon = wxArtProvider::GetBitmap(wxART_PASTE, wxART_TOOLBAR);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
toolBar = new wxAuiToolBar(this);
|
toolBar = new wxAuiToolBar(this);
|
||||||
|
|
||||||
toolBar->AddTool(wxID_NEW, "New", new_file_icon, "New file");
|
toolBar->AddTool(wxID_NEW, "New", new_file_icon, "New file");
|
||||||
@ -156,18 +156,18 @@ void MainFrame::SetupToolbar()
|
|||||||
toolBar->AddTool(wxID_SAVE, "Save", save_file_icon, "Save file");
|
toolBar->AddTool(wxID_SAVE, "Save", save_file_icon, "Save file");
|
||||||
|
|
||||||
toolBar->AddSeparator();
|
toolBar->AddSeparator();
|
||||||
|
|
||||||
toolBar->AddTool(wxID_COPY, "Copy", copy_icon, "Copy");
|
toolBar->AddTool(wxID_COPY, "Copy", copy_icon, "Copy");
|
||||||
toolBar->AddTool(wxID_CUT, "Cut", cut_icon, "Cut");
|
toolBar->AddTool(wxID_CUT, "Cut", cut_icon, "Cut");
|
||||||
toolBar->AddTool(wxID_PASTE, "Paste", paste_icon, "Paste");
|
toolBar->AddTool(wxID_PASTE, "Paste", paste_icon, "Paste");
|
||||||
toolBar->AddStretchSpacer();
|
toolBar->AddStretchSpacer();
|
||||||
|
|
||||||
toolBar->Realize();
|
toolBar->Realize();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Bind event handlers
|
* Bind event handlers
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
void MainFrame::BindEvents()
|
void MainFrame::BindEvents()
|
||||||
@ -181,33 +181,33 @@ void MainFrame::BindEvents()
|
|||||||
this->Bind(wxEVT_MENU, &TabContainer::OnCloseAllButThis, notebook, myID_CLOSE_ALL_BUT_THIS);
|
this->Bind(wxEVT_MENU, &TabContainer::OnCloseAllButThis, notebook, myID_CLOSE_ALL_BUT_THIS);
|
||||||
this->Bind(wxEVT_MENU, &TabContainer::OnCloseAll, notebook, myID_CLOSE_ALL);
|
this->Bind(wxEVT_MENU, &TabContainer::OnCloseAll, notebook, myID_CLOSE_ALL);
|
||||||
this->Bind(wxEVT_MENU, &MainFrame::OnQuit, this, wxID_EXIT);
|
this->Bind(wxEVT_MENU, &MainFrame::OnQuit, this, wxID_EXIT);
|
||||||
|
|
||||||
// Edit Menu Events
|
// Edit Menu Events
|
||||||
this->Bind(wxEVT_MENU, [=](wxCommandEvent& event) {
|
this->Bind(wxEVT_MENU, [=](wxCommandEvent& event) {
|
||||||
EditPane *editor = notebook->GetCurrentEditor();
|
EditPane *editor = notebook->GetCurrentEditor();
|
||||||
|
|
||||||
switch(event.GetId())
|
switch(event.GetId())
|
||||||
{
|
{
|
||||||
case wxID_CUT:
|
case wxID_CUT:
|
||||||
editor->Cut();
|
editor->Cut();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case wxID_COPY:
|
case wxID_COPY:
|
||||||
editor->Copy();
|
editor->Copy();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case wxID_PASTE:
|
case wxID_PASTE:
|
||||||
if (editor->CanPaste()) editor->Paste();
|
if (editor->CanPaste()) editor->Paste();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case wxID_SELECTALL:
|
case wxID_SELECTALL:
|
||||||
editor->SelectAll();
|
editor->SelectAll();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case wxID_UNDO:
|
case wxID_UNDO:
|
||||||
if (editor->CanUndo()) editor->Undo();
|
if (editor->CanUndo()) editor->Undo();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case wxID_REDO:
|
case wxID_REDO:
|
||||||
if (editor->CanRedo()) editor->Redo();
|
if (editor->CanRedo()) editor->Redo();
|
||||||
break;
|
break;
|
||||||
@ -216,21 +216,21 @@ void MainFrame::BindEvents()
|
|||||||
Glob_pref_pane->Show(this);
|
Glob_pref_pane->Show(this);
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
case wxID_FIND:
|
case wxID_FIND:
|
||||||
this->OnEditFind(event);
|
this->OnEditFind(event);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case wxID_REPLACE:
|
case wxID_REPLACE:
|
||||||
this->OnEditReplace(event);
|
this->OnEditReplace(event);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
event.Skip(true);
|
event.Skip(true);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// View Menu Events
|
// View Menu Events
|
||||||
this->Bind(wxEVT_MENU, &MainFrame::OnToggleWhitespace, this, myID_VIEW_WHITESPACE);
|
this->Bind(wxEVT_MENU, &MainFrame::OnToggleWhitespace, this, myID_VIEW_WHITESPACE);
|
||||||
this->Bind(wxEVT_MENU, &MainFrame::OnToggleLineWrap, this, myID_LINE_WRAP);
|
this->Bind(wxEVT_MENU, &MainFrame::OnToggleLineWrap, this, myID_LINE_WRAP);
|
||||||
@ -245,24 +245,24 @@ void MainFrame::BindEvents()
|
|||||||
wxLogDebug("wxEVT_FIND_CLOSE");
|
wxLogDebug("wxEVT_FIND_CLOSE");
|
||||||
event.GetDialog()->Hide();
|
event.GetDialog()->Hide();
|
||||||
});
|
});
|
||||||
|
|
||||||
// Language Selection
|
// Language Selection
|
||||||
this->Bind(wxEVT_MENU, &MainFrame::OnLangSelect, this, wxID_ANY);
|
this->Bind(wxEVT_MENU, &MainFrame::OnLangSelect, this, wxID_ANY);
|
||||||
|
|
||||||
// Help Menu Events
|
// Help Menu Events
|
||||||
this->Bind(wxEVT_MENU, &MainFrame::OnAbout, this, wxID_ABOUT);
|
this->Bind(wxEVT_MENU, &MainFrame::OnAbout, this, wxID_ABOUT);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a new document
|
* Create a new document
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
void MainFrame::OnNew(wxCommandEvent &WXUNUSED(event))
|
void MainFrame::OnNew(wxCommandEvent &WXUNUSED(event))
|
||||||
{
|
{
|
||||||
this->EnableEditControls();
|
this->EnableEditControls();
|
||||||
notebook->AddTab();
|
notebook->AddTab();
|
||||||
|
|
||||||
// Make sure the layout is updated immediately
|
// Make sure the layout is updated immediately
|
||||||
this->manager->Update();
|
this->manager->Update();
|
||||||
}
|
}
|
||||||
@ -271,33 +271,33 @@ void MainFrame::OnNew(wxCommandEvent &WXUNUSED(event))
|
|||||||
* Display a file open dialog, and open the selected files
|
* Display a file open dialog, and open the selected files
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
void MainFrame::OnOpen(wxCommandEvent &WXUNUSED(event))
|
void MainFrame::OnOpen(wxCommandEvent &WXUNUSED(event))
|
||||||
{
|
{
|
||||||
wxArrayString filelist;
|
wxArrayString filelist;
|
||||||
|
|
||||||
wxFileDialog dlg(this, "Open file(s)", wxEmptyString, wxEmptyString,
|
wxFileDialog dlg(this, "Open file(s)", wxEmptyString, wxEmptyString,
|
||||||
TYRO_FILE_OPEN_WILDCARDS, wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_CHANGE_DIR | wxFD_MULTIPLE);
|
TYRO_FILE_OPEN_WILDCARDS, wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_CHANGE_DIR | wxFD_MULTIPLE);
|
||||||
|
|
||||||
if (dlg.ShowModal() != wxID_OK) return;
|
if (dlg.ShowModal() != wxID_OK) return;
|
||||||
|
|
||||||
dlg.GetPaths(filelist);
|
dlg.GetPaths(filelist);
|
||||||
|
|
||||||
this->OpenFiles(filelist);
|
this->OpenFiles(filelist);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Open tabs containing the files passed
|
* Open tabs containing the files passed
|
||||||
*
|
*
|
||||||
* @param wxArrayString& filelist
|
* @param wxArrayString& filelist
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
void MainFrame::OpenFiles(wxArrayString filelist)
|
void MainFrame::OpenFiles(wxArrayString filelist)
|
||||||
{
|
{
|
||||||
int listcount = filelist.GetCount();
|
int listcount = filelist.GetCount();
|
||||||
|
|
||||||
if (listcount < 1) return;
|
if (listcount < 1) return;
|
||||||
|
|
||||||
// Open a new tab for each file
|
// Open a new tab for each file
|
||||||
notebook->Freeze();
|
notebook->Freeze();
|
||||||
for (int i = 0; i < listcount; i++)
|
for (int i = 0; i < listcount; i++)
|
||||||
@ -305,27 +305,27 @@ void MainFrame::OpenFiles(wxArrayString filelist)
|
|||||||
notebook->AddTab(filelist[i]);
|
notebook->AddTab(filelist[i]);
|
||||||
}
|
}
|
||||||
notebook->Thaw();
|
notebook->Thaw();
|
||||||
|
|
||||||
this->EnableEditControls(true);
|
this->EnableEditControls(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Close the current tab via the toolbar or menu
|
* Close the current tab via the toolbar or menu
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
void MainFrame::OnCloseTab(wxCommandEvent &WXUNUSED(event))
|
void MainFrame::OnCloseTab(wxCommandEvent &WXUNUSED(event))
|
||||||
{
|
{
|
||||||
int current_tab = notebook->GetSelection();
|
int current_tab = notebook->GetSelection();
|
||||||
|
|
||||||
notebook->Freeze();
|
notebook->Freeze();
|
||||||
notebook->DeletePage(current_tab);
|
notebook->DeletePage(current_tab);
|
||||||
|
|
||||||
if (notebook->GetPageCount() == 0)
|
if (notebook->GetPageCount() == 0)
|
||||||
{
|
{
|
||||||
this->EnableEditControls(false);
|
this->EnableEditControls(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
notebook->Thaw();
|
notebook->Thaw();
|
||||||
this->manager->Update();
|
this->manager->Update();
|
||||||
}
|
}
|
||||||
@ -352,14 +352,14 @@ void MainFrame::OnCloseAll(wxCommandEvent &WXUNUSED(event))
|
|||||||
void MainFrame::OnSave(wxCommandEvent &event)
|
void MainFrame::OnSave(wxCommandEvent &event)
|
||||||
{
|
{
|
||||||
EditPane *editor = notebook->GetCurrentEditor();
|
EditPane *editor = notebook->GetCurrentEditor();
|
||||||
|
|
||||||
// Check if the filename is set for the current file
|
// Check if the filename is set for the current file
|
||||||
if ( ! editor->fileName.IsOk())
|
if ( ! editor->fileName.IsOk())
|
||||||
{
|
{
|
||||||
this->OnSaveAs(event);
|
this->OnSaveAs(event);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
editor->SaveFile();
|
editor->SaveFile();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -376,9 +376,9 @@ void MainFrame::OnSaveAs(wxCommandEvent &WXUNUSED(event))
|
|||||||
if ( ! editor->IsModified()) return;
|
if ( ! editor->IsModified()) return;
|
||||||
|
|
||||||
wxFileDialog dlg(
|
wxFileDialog dlg(
|
||||||
this,
|
this,
|
||||||
"Save as...",
|
"Save as...",
|
||||||
wxEmptyString,
|
wxEmptyString,
|
||||||
wxEmptyString,
|
wxEmptyString,
|
||||||
TYRO_FILE_SAVE_WILDCARDS,
|
TYRO_FILE_SAVE_WILDCARDS,
|
||||||
wxFD_SAVE | wxFD_OVERWRITE_PROMPT
|
wxFD_SAVE | wxFD_OVERWRITE_PROMPT
|
||||||
@ -395,7 +395,7 @@ void MainFrame::OnSaveAs(wxCommandEvent &WXUNUSED(event))
|
|||||||
wxFileName fileName(filePath);
|
wxFileName fileName(filePath);
|
||||||
const wxString fullPath = filePath;
|
const wxString fullPath = filePath;
|
||||||
const wxString caption= fileName.GetFullName();
|
const wxString caption= fileName.GetFullName();
|
||||||
|
|
||||||
// Update the name of the tab
|
// Update the name of the tab
|
||||||
notebook->SetPageToolTip(notebook->GetSelection(), fullPath);
|
notebook->SetPageToolTip(notebook->GetSelection(), fullPath);
|
||||||
notebook->SetPageText(notebook->GetSelection(), caption);
|
notebook->SetPageText(notebook->GetSelection(), caption);
|
||||||
@ -403,16 +403,16 @@ void MainFrame::OnSaveAs(wxCommandEvent &WXUNUSED(event))
|
|||||||
// Update the editor highlighting
|
// Update the editor highlighting
|
||||||
editor->Highlight(filePath);
|
editor->Highlight(filePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update the main view
|
// Update the main view
|
||||||
this->manager->Update();
|
this->manager->Update();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Close Tyro
|
* Close Tyro
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
void MainFrame::OnQuit(wxCommandEvent &WXUNUSED(event))
|
void MainFrame::OnQuit(wxCommandEvent &WXUNUSED(event))
|
||||||
{
|
{
|
||||||
this->Destroy();
|
this->Destroy();
|
||||||
@ -422,40 +422,40 @@ void MainFrame::OnQuit(wxCommandEvent &WXUNUSED(event))
|
|||||||
* Create and show about dialog
|
* Create and show about dialog
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
void MainFrame::OnAbout(wxCommandEvent &WXUNUSED(event))
|
void MainFrame::OnAbout(wxCommandEvent &WXUNUSED(event))
|
||||||
{
|
{
|
||||||
wxAboutDialogInfo info;
|
wxAboutDialogInfo info;
|
||||||
wxPlatformInfo plat_info;
|
wxPlatformInfo plat_info;
|
||||||
|
|
||||||
info.SetName(APP_NAME);
|
info.SetName(APP_NAME);
|
||||||
info.SetVersion(APP_VERSION, APP_VERSION_MORE);
|
info.SetVersion(APP_VERSION, APP_VERSION_MORE);
|
||||||
|
|
||||||
info.AddDeveloper("Tim Warren");
|
info.AddDeveloper("Tim Warren");
|
||||||
info.AddArtist("Brian Smith: Main icon");
|
info.AddArtist("Brian Smith: Main icon");
|
||||||
|
|
||||||
#ifndef __WXGTK__
|
#ifndef __WXGTK__
|
||||||
info.AddArtist("http://dryicons.com: Other icons");
|
info.AddArtist("http://dryicons.com: Other icons");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
wxString desc = "Tyro, a text editor for all development\n\n"
|
wxString desc = "Tyro, a text editor for all development\n\n"
|
||||||
"System info: \n";
|
"System info: \n";
|
||||||
|
|
||||||
desc += wxString::Format("Architecture: %s\n",
|
desc += wxString::Format("Architecture: %s\n",
|
||||||
wxPlatformInfo::GetArchName(plat_info.GetArchitecture()));
|
wxPlatformInfo::GetArchName(plat_info.GetArchitecture()));
|
||||||
|
|
||||||
desc += wxString::Format("Operating System:\n\t%s %i.%i\n",
|
desc += wxString::Format("Operating System:\n\t%s %i.%i\n",
|
||||||
wxPlatformInfo::GetOperatingSystemIdName(plat_info.GetOperatingSystemId()),
|
wxPlatformInfo::GetOperatingSystemIdName(plat_info.GetOperatingSystemId()),
|
||||||
plat_info.GetOSMajorVersion(),
|
plat_info.GetOSMajorVersion(),
|
||||||
plat_info.GetOSMinorVersion());
|
plat_info.GetOSMinorVersion());
|
||||||
|
|
||||||
desc += wxString::Format("wxWidgets version: %s %i.%i.%i\n",
|
desc += wxString::Format("wxWidgets version: %s %i.%i.%i\n",
|
||||||
plat_info.GetPortIdName(),
|
plat_info.GetPortIdName(),
|
||||||
wxMAJOR_VERSION,
|
wxMAJOR_VERSION,
|
||||||
wxMINOR_VERSION,
|
wxMINOR_VERSION,
|
||||||
wxRELEASE_NUMBER
|
wxRELEASE_NUMBER
|
||||||
);
|
);
|
||||||
|
|
||||||
#ifdef __WXGTK__
|
#ifdef __WXGTK__
|
||||||
wxLinuxDistributionInfo dist_info = wxGetLinuxDistributionInfo();
|
wxLinuxDistributionInfo dist_info = wxGetLinuxDistributionInfo();
|
||||||
wxString desk = plat_info.GetDesktopEnvironment();
|
wxString desk = plat_info.GetDesktopEnvironment();
|
||||||
@ -463,122 +463,122 @@ void MainFrame::OnAbout(wxCommandEvent &WXUNUSED(event))
|
|||||||
{
|
{
|
||||||
desc += wxString::Format("Desktop Environment:%s\n", desk);
|
desc += wxString::Format("Desktop Environment:%s\n", desk);
|
||||||
}
|
}
|
||||||
|
|
||||||
desc += "Distro: ";
|
desc += "Distro: ";
|
||||||
desc += dist_info.Description;
|
desc += dist_info.Description;
|
||||||
|
|
||||||
if (dist_info.CodeName != "")
|
if (dist_info.CodeName != "")
|
||||||
{
|
{
|
||||||
desc += " (" + dist_info.CodeName + ")\n";
|
desc += " (" + dist_info.CodeName + ")\n";
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
info.SetDescription(desc);
|
info.SetDescription(desc);
|
||||||
|
|
||||||
info.SetCopyright(" (C) 2015");
|
info.SetCopyright(" (C) 2015");
|
||||||
|
|
||||||
wxAboutBox(info);
|
wxAboutBox(info);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Toggle display of invisibles
|
* Toggle display of invisibles
|
||||||
*
|
*
|
||||||
* @param wxCommandEvent& event
|
* @param wxCommandEvent& event
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
void MainFrame::OnToggleWhitespace(wxCommandEvent& event)
|
void MainFrame::OnToggleWhitespace(wxCommandEvent& event)
|
||||||
{
|
{
|
||||||
EditPane *editor = notebook->GetCurrentEditor();
|
EditPane *editor = notebook->GetCurrentEditor();
|
||||||
int flag = (event.IsChecked())
|
int flag = (event.IsChecked())
|
||||||
? wxSTC_WS_VISIBLEALWAYS
|
? wxSTC_WS_VISIBLEALWAYS
|
||||||
: wxSTC_WS_INVISIBLE;
|
: wxSTC_WS_INVISIBLE;
|
||||||
|
|
||||||
editor->SetViewWhiteSpace(flag);
|
editor->SetViewWhiteSpace(flag);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show the find dialog
|
* Show the find dialog
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
void MainFrame::OnEditFind(wxCommandEvent &WXUNUSED(event))
|
void MainFrame::OnEditFind(wxCommandEvent &WXUNUSED(event))
|
||||||
{
|
{
|
||||||
if (this->findDlg == nullptr)
|
if (this->findDlg == nullptr)
|
||||||
{
|
{
|
||||||
this->findData = new wxFindReplaceData(wxFR_DOWN);
|
this->findData = new wxFindReplaceData(wxFR_DOWN);
|
||||||
this->findDlg = new wxFindReplaceDialog(this, this->findData, "Find");
|
this->findDlg = new wxFindReplaceDialog(this, this->findData, "Find");
|
||||||
}
|
}
|
||||||
|
|
||||||
this->findDlg->Show(true);
|
this->findDlg->Show(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show the find/replace dialog
|
* Show the find/replace dialog
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
void MainFrame::OnEditReplace(wxCommandEvent &WXUNUSED(event))
|
void MainFrame::OnEditReplace(wxCommandEvent &WXUNUSED(event))
|
||||||
{
|
{
|
||||||
if (this->replaceDlg == nullptr)
|
if (this->replaceDlg == nullptr)
|
||||||
{
|
{
|
||||||
this->findReplaceData = new wxFindReplaceData(wxFR_DOWN);
|
this->findReplaceData = new wxFindReplaceData(wxFR_DOWN);
|
||||||
this->replaceDlg = new wxFindReplaceDialog(this, this->findReplaceData,
|
this->replaceDlg = new wxFindReplaceDialog(this, this->findReplaceData,
|
||||||
"Find and Replace", wxFR_REPLACEDIALOG);
|
"Find and Replace", wxFR_REPLACEDIALOG);
|
||||||
}
|
}
|
||||||
|
|
||||||
this->replaceDlg->Show(true);
|
this->replaceDlg->Show(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handles events coming from find dialog
|
* Handles events coming from find dialog
|
||||||
*
|
*
|
||||||
* @param wxFindDialogEvent& event
|
* @param wxFindDialogEvent& event
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
void MainFrame::OnFindDialog(wxFindDialogEvent &event)
|
void MainFrame::OnFindDialog(wxFindDialogEvent &event)
|
||||||
{
|
{
|
||||||
wxEventType type = event.GetEventType();
|
wxEventType type = event.GetEventType();
|
||||||
EditPane *editor = notebook->GetCurrentEditor();
|
EditPane *editor = notebook->GetCurrentEditor();
|
||||||
|
|
||||||
// Parse flags
|
// Parse flags
|
||||||
int stc_flags = 0;
|
int stc_flags = 0;
|
||||||
int fr_flags = event.GetFlags();
|
int fr_flags = event.GetFlags();
|
||||||
|
|
||||||
if (fr_flags & wxFR_WHOLEWORD) stc_flags |= wxSTC_FIND_WHOLEWORD;
|
if (fr_flags & wxFR_WHOLEWORD) stc_flags |= wxSTC_FIND_WHOLEWORD;
|
||||||
if (fr_flags & wxFR_MATCHCASE) stc_flags |= wxSTC_FIND_MATCHCASE;
|
if (fr_flags & wxFR_MATCHCASE) stc_flags |= wxSTC_FIND_MATCHCASE;
|
||||||
|
|
||||||
// Position after search
|
// Position after search
|
||||||
int new_pos = 0;
|
int new_pos = 0;
|
||||||
|
|
||||||
// Send find flags to editor control
|
// Send find flags to editor control
|
||||||
editor->SetSearchFlags(stc_flags);
|
editor->SetSearchFlags(stc_flags);
|
||||||
|
|
||||||
if (type == wxEVT_FIND)
|
if (type == wxEVT_FIND)
|
||||||
{
|
{
|
||||||
wxLogDebug("wxEVT_FIND");
|
wxLogDebug("wxEVT_FIND");
|
||||||
|
|
||||||
if (editor->GetCurrentPos() < 0 || editor->GetCurrentPos() > editor->GetLastPosition())
|
if (editor->GetCurrentPos() < 0 || editor->GetCurrentPos() > editor->GetLastPosition())
|
||||||
{
|
{
|
||||||
editor->GotoPos(1);
|
editor->GotoPos(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
editor->SearchAnchor();
|
editor->SearchAnchor();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (type == wxEVT_FIND_NEXT || type == wxEVT_FIND)
|
if (type == wxEVT_FIND_NEXT || type == wxEVT_FIND)
|
||||||
{
|
{
|
||||||
if (type == wxEVT_FIND_NEXT)
|
if (type == wxEVT_FIND_NEXT)
|
||||||
{
|
{
|
||||||
wxLogDebug("wxEVT_FIND_NEXT");
|
wxLogDebug("wxEVT_FIND_NEXT");
|
||||||
}
|
}
|
||||||
|
|
||||||
new_pos = ((fr_flags & wxFR_DOWN) != 0)
|
new_pos = ((fr_flags & wxFR_DOWN) != 0)
|
||||||
? editor->SearchNext(stc_flags, event.GetFindString())
|
? editor->SearchNext(stc_flags, event.GetFindString())
|
||||||
: editor->SearchPrev(stc_flags, event.GetFindString());
|
: editor->SearchPrev(stc_flags, event.GetFindString());
|
||||||
|
|
||||||
int sel_start = editor->GetSelectionStart();
|
int sel_start = editor->GetSelectionStart();
|
||||||
int sel_end = editor->GetSelectionEnd();
|
int sel_end = editor->GetSelectionEnd();
|
||||||
|
|
||||||
if (new_pos > 0)
|
if (new_pos > 0)
|
||||||
{
|
{
|
||||||
if ((fr_flags & wxFR_DOWN) != 0)
|
if ((fr_flags & wxFR_DOWN) != 0)
|
||||||
@ -587,16 +587,16 @@ void MainFrame::OnFindDialog(wxFindDialogEvent &event)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
((sel_start - 1) > 0)
|
((sel_start - 1) > 0)
|
||||||
? editor->GotoPos(sel_start - 1)
|
? editor->GotoPos(sel_start - 1)
|
||||||
: editor->GotoPos(sel_start);
|
: editor->GotoPos(sel_start);
|
||||||
}
|
}
|
||||||
|
|
||||||
editor->SearchAnchor();
|
editor->SearchAnchor();
|
||||||
editor->SetSelectionStart(sel_start);
|
editor->SetSelectionStart(sel_start);
|
||||||
editor->SetSelectionEnd(sel_end);
|
editor->SetSelectionEnd(sel_end);
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
else if (type == wxEVT_FIND_REPLACE)
|
else if (type == wxEVT_FIND_REPLACE)
|
||||||
@ -607,47 +607,47 @@ void MainFrame::OnFindDialog(wxFindDialogEvent &event)
|
|||||||
else if (type == wxEVT_FIND_REPLACE_ALL)
|
else if (type == wxEVT_FIND_REPLACE_ALL)
|
||||||
{
|
{
|
||||||
wxLogDebug("wxEVT_FIND_REPLACE_ALL");
|
wxLogDebug("wxEVT_FIND_REPLACE_ALL");
|
||||||
|
|
||||||
// Freeze editor drawing until replacement is finished
|
// Freeze editor drawing until replacement is finished
|
||||||
editor->Freeze();
|
editor->Freeze();
|
||||||
|
|
||||||
editor->GotoPos(0); // Go to the start of the document
|
editor->GotoPos(0); // Go to the start of the document
|
||||||
editor->SearchAnchor();
|
editor->SearchAnchor();
|
||||||
|
|
||||||
editor->BeginUndoAction();
|
editor->BeginUndoAction();
|
||||||
|
|
||||||
while (editor->SearchNext(stc_flags, event.GetFindString()) != -1)
|
while (editor->SearchNext(stc_flags, event.GetFindString()) != -1)
|
||||||
{
|
{
|
||||||
editor->ReplaceSelection(event.GetReplaceString());
|
editor->ReplaceSelection(event.GetReplaceString());
|
||||||
}
|
}
|
||||||
|
|
||||||
editor->EndUndoAction();
|
editor->EndUndoAction();
|
||||||
|
|
||||||
editor->ScrollToEnd();
|
editor->ScrollToEnd();
|
||||||
|
|
||||||
editor->Thaw();
|
editor->Thaw();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Toggle line wrap
|
* Toggle line wrap
|
||||||
*
|
*
|
||||||
* @param wxCommandEvent& event
|
* @param wxCommandEvent& event
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
void MainFrame::OnToggleLineWrap(wxCommandEvent &event)
|
void MainFrame::OnToggleLineWrap(wxCommandEvent &event)
|
||||||
{
|
{
|
||||||
EditPane *editor = notebook->GetCurrentEditor();
|
EditPane *editor = notebook->GetCurrentEditor();
|
||||||
int flag = (event.IsChecked())
|
int flag = (event.IsChecked())
|
||||||
? wxSTC_WRAP_WORD
|
? wxSTC_WRAP_WORD
|
||||||
: wxSTC_WRAP_NONE;
|
: wxSTC_WRAP_NONE;
|
||||||
|
|
||||||
editor->SetWrapMode(flag);
|
editor->SetWrapMode(flag);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Toggle display of line ending characters
|
* Toggle display of line ending characters
|
||||||
*
|
*
|
||||||
* @param wxCommandEvent& event
|
* @param wxCommandEvent& event
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
@ -658,7 +658,7 @@ void MainFrame::OnToggleLineEndings(wxCommandEvent &event)
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Toggle enable/disable of document-specific controls
|
* Toggle enable/disable of document-specific controls
|
||||||
*
|
*
|
||||||
* @param bool enable
|
* @param bool enable
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
@ -666,21 +666,21 @@ void MainFrame::EnableEditControls(bool enable)
|
|||||||
{
|
{
|
||||||
// Update menu items
|
// Update menu items
|
||||||
Glob_menu_bar->EnableEditControls(enable);
|
Glob_menu_bar->EnableEditControls(enable);
|
||||||
|
|
||||||
// Toggle toolbar items
|
// Toggle toolbar items
|
||||||
this->toolBar->EnableTool(wxID_SAVE, enable);
|
this->toolBar->EnableTool(wxID_SAVE, enable);
|
||||||
this->toolBar->EnableTool(wxID_CLOSE, enable);
|
this->toolBar->EnableTool(wxID_CLOSE, enable);
|
||||||
this->toolBar->EnableTool(wxID_COPY, enable);
|
this->toolBar->EnableTool(wxID_COPY, enable);
|
||||||
this->toolBar->EnableTool(wxID_CUT, enable);
|
this->toolBar->EnableTool(wxID_CUT, enable);
|
||||||
this->toolBar->EnableTool(wxID_PASTE, enable);
|
this->toolBar->EnableTool(wxID_PASTE, enable);
|
||||||
|
|
||||||
// Make sure the toolbar is refreshed instantly
|
// Make sure the toolbar is refreshed instantly
|
||||||
this->manager->Update();
|
this->manager->Update();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Handle selection of highlighting language
|
* Handle selection of highlighting language
|
||||||
*
|
*
|
||||||
* @param wxCommandEvent& event
|
* @param wxCommandEvent& event
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
@ -710,9 +710,9 @@ void MainFrame::OnLangSelect(wxCommandEvent &event)
|
|||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
void MainFrame::OnPrefsChanged(wxCommandEvent &WXUNUSED(event))
|
void MainFrame::OnPrefsChanged(wxCommandEvent &WXUNUSED(event))
|
||||||
{
|
{
|
||||||
EditPane *editor;
|
EditPane *editor;
|
||||||
|
|
||||||
notebook->Freeze();
|
notebook->Freeze();
|
||||||
for(size_t i = 0; i < notebook->GetPageCount(); i++)
|
for(size_t i = 0; i < notebook->GetPageCount(); i++)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user