patch from Utensil Candel: remove ctrlmaskout.h/cpp; clear some more code; erase any wxFB's trace
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -22,13 +22,8 @@
|
||||
#include "wx/dir.h"
|
||||
|
||||
#include "screenshot_main.h"
|
||||
#include "ctrlmaskout.h"
|
||||
#include "autocapture.h"
|
||||
|
||||
#include "bitmaps/play.xpm"
|
||||
#include "bitmaps/stop.xpm"
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// ScreenshotFrame
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -39,87 +34,10 @@ ScreenshotFrame::ScreenshotFrame(wxFrame *frame) : GUIFrame(frame)
|
||||
statusBar->SetStatusText(_("Welcome to the Automatic Screenshot Generator!"), 0);
|
||||
#endif
|
||||
|
||||
// We will hold one ctrlmaskout during the whole life time of the main frame
|
||||
m_maskout = new CtrlMaskOut();
|
||||
|
||||
// At the begining, we are not specifying the rect region
|
||||
capturingRect = false;
|
||||
|
||||
// Do some further customization on some controls generated by wxFormBuilder
|
||||
InitFBControls();
|
||||
}
|
||||
|
||||
ScreenshotFrame::~ScreenshotFrame()
|
||||
{
|
||||
delete m_maskout;
|
||||
}
|
||||
|
||||
/*
|
||||
Do some further customization on some controls.
|
||||
|
||||
NB: under wxGTK for the radio button "unchecked" to be unchecked, it's
|
||||
important to put the wxRB_GROUP style on the first wxRadioButton
|
||||
(the one "checked") and no flags on the second one.
|
||||
*/
|
||||
void ScreenshotFrame::InitFBControls()
|
||||
{
|
||||
m_scrollBar1->SetScrollbar(50, 1, 100, 1);
|
||||
|
||||
// Do the default selection for wxComboBox
|
||||
m_comboBox1->Select(0);
|
||||
|
||||
// To look better under gtk
|
||||
#ifdef __WXGTK__
|
||||
m_comboBox1->Delete(4);
|
||||
#endif
|
||||
|
||||
// Add a root and some nodes for wxTreeCtrl
|
||||
wxTreeItemId root = m_treeCtrl1->AddRoot(_("wxTreeCtrl"));
|
||||
m_treeCtrl1->AppendItem(root, _("Node1"));
|
||||
wxTreeItemId node2 = m_treeCtrl1->AppendItem(root, _("Node2"));
|
||||
m_treeCtrl1->AppendItem(node2, _("Node3"));
|
||||
m_treeCtrl1->ExpandAll();
|
||||
|
||||
// Add items into wxListCtrl
|
||||
m_listCtrl1->InsertColumn(0, "Names");
|
||||
m_listCtrl1->InsertColumn(1, "Values");
|
||||
for(long index = 0; index < 5; index++) {
|
||||
m_listCtrl1->InsertItem( index, wxString::Format(_("Item%d"),index));
|
||||
m_listCtrl1->SetItem(index, 1, wxString::Format("%d", index));
|
||||
}
|
||||
|
||||
// Init file and dir pickers
|
||||
wxString file, dir;
|
||||
#if defined(__WXMSW__)
|
||||
file = "C:\\Windows\\explorer.exe";
|
||||
dir = "C:\\Windows";
|
||||
#else
|
||||
file = "/bin/bash";
|
||||
dir = "/home";
|
||||
#endif
|
||||
m_filePicker1->SetPath(file);
|
||||
m_dirPicker1->SetPath(dir);
|
||||
|
||||
// Check the first item in wxCheckListBox
|
||||
m_checkList1->Check(0);
|
||||
|
||||
// Load richtext.xml into wxRichtextCtrl
|
||||
m_richText1->LoadFile(_T("richtext.xml"));
|
||||
//m_richText1->ShowPosition(335);
|
||||
|
||||
// select first page in the main notebook ctrl
|
||||
m_notebook1->ChangeSelection(0);
|
||||
|
||||
// set minimum size hints
|
||||
GetSizer()->SetSizeHints(this);
|
||||
|
||||
// add bitmaps to the menus
|
||||
m_menuCapRect->SetBitmap( wxIcon(play_xpm) );
|
||||
m_menuEndCapRect->SetBitmap( wxIcon(stop_xpm) );
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// ScreenshotFrame - event handlers
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -136,7 +54,7 @@ void ScreenshotFrame::OnQuit(wxCommandEvent& WXUNUSED(event))
|
||||
|
||||
void ScreenshotFrame::OnSeeScreenshots(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
wxFileName defaultDir = wxFileName::DirName(m_maskout->GetDefaultDirectory());
|
||||
wxFileName defaultDir = wxFileName::DirName(GetDefaultDirectory());
|
||||
defaultDir.MakeAbsolute();
|
||||
|
||||
// Check if defaultDir already existed
|
||||
@@ -167,79 +85,20 @@ void ScreenshotFrame::OnCaptureFullScreen(wxCommandEvent& WXUNUSED(event))
|
||||
wxCoord screenWidth, screenHeight;
|
||||
dcScreen.GetSize(&screenWidth, &screenHeight);
|
||||
|
||||
m_maskout->Capture(0, 0, screenWidth, screenHeight, _T("fullscreen"));
|
||||
const wxString fullscreen_filename = GetDefaultDirectoryAbsPath() + _T("fullscreen.png");
|
||||
|
||||
// Inform the user
|
||||
wxMessageBox(_("A screenshot of the entire screen was saved as:\n\n ") +
|
||||
m_maskout->GetDefaultDirectoryAbsPath() + wxFileName::GetPathSeparator() + "fullscreen.png",
|
||||
wxBitmap fullscreen = AutoCaptureMechanism::Capture(0, 0, screenWidth, screenHeight);
|
||||
|
||||
fullscreen.SaveFile(fullscreen_filename, wxBITMAP_TYPE_PNG);
|
||||
|
||||
wxMessageBox(_("A screenshot of the entire screen was saved as:\n\n ")
|
||||
+ fullscreen_filename,
|
||||
_("Full screen capture"), wxICON_INFORMATION|wxOK, this);
|
||||
}
|
||||
|
||||
void ScreenshotFrame::OnCaptureRect(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
capturingRect = true;
|
||||
wxMenuBar * menubar = this->GetMenuBar();
|
||||
menubar->FindItem(idMenuCapRect)->Enable(false);
|
||||
menubar->FindItem(idMenuEndCapRect)->Enable(true);
|
||||
|
||||
wxWindow * thePage = m_notebook1->GetPage(m_notebook1->GetSelection());
|
||||
|
||||
thePage->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( CtrlMaskOut::OnLeftButtonDown ), NULL, m_maskout);
|
||||
thePage->Connect( wxEVT_LEFT_UP, wxMouseEventHandler( CtrlMaskOut::OnLeftButtonUp ), NULL, m_maskout);
|
||||
thePage->Connect( wxEVT_MOTION, wxMouseEventHandler( CtrlMaskOut::OnMouseMoving ), NULL, m_maskout);
|
||||
}
|
||||
|
||||
void ScreenshotFrame::OnEndCaptureRect(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
capturingRect = false;
|
||||
wxMenuBar * menubar = this->GetMenuBar();
|
||||
menubar->FindItem(idMenuCapRect)->Enable(true);
|
||||
menubar->FindItem(idMenuEndCapRect)->Enable(false);
|
||||
|
||||
wxWindow * thePage = m_notebook1->GetPage(m_notebook1->GetSelection());
|
||||
|
||||
thePage->Disconnect( wxEVT_LEFT_DOWN, wxMouseEventHandler( CtrlMaskOut::OnLeftButtonDown ), NULL, m_maskout);
|
||||
thePage->Disconnect( wxEVT_LEFT_UP, wxMouseEventHandler( CtrlMaskOut::OnLeftButtonUp ), NULL, m_maskout);
|
||||
thePage->Disconnect( wxEVT_MOTION, wxMouseEventHandler( CtrlMaskOut::OnMouseMoving ), NULL, m_maskout);
|
||||
}
|
||||
|
||||
void ScreenshotFrame::OnNotebookPageChanging(wxNotebookEvent& event)
|
||||
{
|
||||
if (!capturingRect)
|
||||
{
|
||||
event.Skip();
|
||||
return;
|
||||
}
|
||||
|
||||
wxWindow * thePage = m_notebook1->GetPage(event.GetOldSelection());
|
||||
|
||||
thePage->Disconnect( wxEVT_LEFT_DOWN, wxMouseEventHandler( CtrlMaskOut::OnLeftButtonDown ), NULL, m_maskout);
|
||||
thePage->Disconnect( wxEVT_LEFT_UP, wxMouseEventHandler( CtrlMaskOut::OnLeftButtonUp ), NULL, m_maskout);
|
||||
thePage->Disconnect( wxEVT_MOTION, wxMouseEventHandler( CtrlMaskOut::OnMouseMoving ), NULL, m_maskout);
|
||||
|
||||
event.Skip();
|
||||
}
|
||||
|
||||
void ScreenshotFrame::OnNotebookPageChanged(wxNotebookEvent& event)
|
||||
{
|
||||
if (!capturingRect)
|
||||
{
|
||||
event.Skip();
|
||||
return;
|
||||
}
|
||||
|
||||
wxWindow *thePage = m_notebook1->GetPage(event.GetSelection());
|
||||
|
||||
thePage->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler( CtrlMaskOut::OnLeftButtonDown ), NULL, m_maskout);
|
||||
thePage->Connect( wxEVT_LEFT_UP, wxMouseEventHandler( CtrlMaskOut::OnLeftButtonUp ), NULL, m_maskout);
|
||||
thePage->Connect( wxEVT_MOTION, wxMouseEventHandler( CtrlMaskOut::OnMouseMoving ), NULL, m_maskout);
|
||||
|
||||
event.Skip();
|
||||
}
|
||||
|
||||
void ScreenshotFrame::OnCaptureAllControls(wxCommandEvent& WXUNUSED(event))
|
||||
{
|
||||
wxString dir = m_maskout->GetDefaultDirectoryAbsPath();
|
||||
wxString dir = GetDefaultDirectoryAbsPath();
|
||||
|
||||
// check if there are other screenshots taken before
|
||||
if (wxFileName::DirExists(dir))
|
||||
|
Reference in New Issue
Block a user