X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/7d418908fe3d2143dbfc9dc22307154a8527d417..33d8353fa58dbc66fc9d22fcd510ded6b26ce719:/samples/access/accesstest.cpp?ds=sidebyside diff --git a/samples/access/accesstest.cpp b/samples/access/accesstest.cpp index 550f043104..29e92dad79 100644 --- a/samples/access/accesstest.cpp +++ b/samples/access/accesstest.cpp @@ -1,6 +1,6 @@ ///////////////////////////////////////////////////////////////////////////// // Name: accesstest.cpp -// Purpose: wxWindows accessibility sample +// Purpose: wxWidgets accessibility sample // Author: Julian Smart // Modified by: // Created: 2002-02-12 @@ -25,7 +25,7 @@ #endif // for all others, include the necessary headers (this file is usually all you -// need because it includes almost all "standard" wxWindows headers) +// need because it includes almost all "standard" wxWidgets headers) #ifndef WX_PRECOMP #include "wx/wx.h" #endif @@ -59,8 +59,8 @@ // ---------------------------------------------------------------------------- // the application icon (under Windows and OS/2 it is in resources) -#if defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXMAC__) || defined(__WXMGL__) || defined(__WXX11__) - #include "mondrian.xpm" +#ifndef wxHAS_IMAGES_IN_RESOURCES + #include "../sample.xpm" #endif // ---------------------------------------------------------------------------- @@ -107,7 +107,7 @@ public: private: wxTextCtrl* m_textCtrl; - // any class wishing to process wxWindows events must use this macro + // any class wishing to process wxWidgets events must use this macro DECLARE_EVENT_TABLE() }; @@ -131,10 +131,10 @@ enum }; // ---------------------------------------------------------------------------- -// event tables and other macros for wxWindows +// event tables and other macros for wxWidgets // ---------------------------------------------------------------------------- -// the event tables connect the wxWindows events with the functions (event +// the event tables connect the wxWidgets events with the functions (event // handlers) which process them. It can be also done at run-time, but for the // simple menu events like this the static method is much simpler. BEGIN_EVENT_TABLE(MyFrame, wxFrame) @@ -145,7 +145,7 @@ END_EVENT_TABLE() #endif // wxUSE_ACCESSIBILITY -// Create a new application object: this macro will allow wxWindows to create +// Create a new application object: this macro will allow wxWidgets to create // the application object during program execution (it's better than using a // static object for many reasons) and also declares the accessor function // wxGetApp() which will return the reference of the right type (i.e. MyApp and @@ -163,6 +163,9 @@ IMPLEMENT_APP(MyApp) // 'Main program' equivalent: the program execution "starts" here bool MyApp::OnInit() { + if ( !wxApp::OnInit() ) + return false; + #if wxUSE_ACCESSIBILITY // Note: JAWS for Windows will only speak the context-sensitive // help if you use this help provider: @@ -172,20 +175,20 @@ bool MyApp::OnInit() wxHelpProvider::Set(new wxSimpleHelpProvider()); // create the main application window - MyFrame *frame = new MyFrame(_T("AccessTest wxWindows App"), + MyFrame *frame = new MyFrame(wxT("AccessTest wxWidgets App"), wxPoint(50, 50), wxSize(450, 340)); // and show it (the frames, unlike simple controls, are not shown when // created initially) - frame->Show(TRUE); + frame->Show(true); // success: wxApp::OnRun() will be called which will enter the main message - // loop and the application will run. If we returned FALSE here, the + // loop and the application will run. If we returned false here, the // application would exit immediately. - return TRUE; + return true; #else - wxMessageBox( _T("This sample has to be compiled with wxUSE_ACCESSIBILITY"), _T("Building error"), wxOK); - return FALSE; + wxMessageBox( wxT("This sample has to be compiled with wxUSE_ACCESSIBILITY"), wxT("Building error"), wxOK); + return false; #endif // wxUSE_ACCESSIBILITY } @@ -304,7 +307,7 @@ public: // Gets a variant representing the selected children // of this object. // Acceptable values: - // - a null variant (IsNull() returns TRUE) + // - a null variant (IsNull() returns true) // - a list variant (GetType() == wxT("list")) // - an integer representing the selected child element, // or 0 if this object is selected (GetType() == wxT("long")) @@ -319,14 +322,14 @@ public: // frame constructor MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size, long style) - : wxFrame(NULL, -1, title, pos, size, style) + : wxFrame(NULL, wxID_ANY, title, pos, size, style) { m_textCtrl = NULL; SetAccessible(new FrameAccessible(this)); // set the frame icon - SetIcon(wxICON(mondrian)); + SetIcon(wxICON(sample)); #if wxUSE_MENUS // create a menu bar @@ -334,16 +337,16 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size, // the "About" item should be in the help menu wxMenu *helpMenu = new wxMenu; - helpMenu->Append(AccessTest_About, _T("&About..."), _T("Show about dialog")); + helpMenu->Append(AccessTest_About, wxT("&About"), wxT("Show about dialog")); - menuFile->Append(AccessTest_Query, _T("Query"), _T("Query the window hierarchy")); + menuFile->Append(AccessTest_Query, wxT("Query"), wxT("Query the window hierarchy")); menuFile->AppendSeparator(); - menuFile->Append(AccessTest_Quit, _T("E&xit\tAlt-X"), _T("Quit this program")); + menuFile->Append(AccessTest_Quit, wxT("E&xit\tAlt-X"), wxT("Quit this program")); // now append the freshly created menu to the menu bar... wxMenuBar *menuBar = new wxMenuBar(); - menuBar->Append(menuFile, _T("&File")); - menuBar->Append(helpMenu, _T("&Help")); + menuBar->Append(menuFile, wxT("&File")); + menuBar->Append(helpMenu, wxT("&Help")); // ... and attach this menu bar to the frame SetMenuBar(menuBar); @@ -352,30 +355,30 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size, #if 0 // wxUSE_STATUSBAR // create a status bar just for fun (by default with 1 pane only) CreateStatusBar(2); - SetStatusText(_T("Welcome to wxWindows!")); + SetStatusText(wxT("Welcome to wxWidgets!")); #endif // wxUSE_STATUSBAR - wxSplitterWindow* splitter = new wxSplitterWindow(this, -1); + wxSplitterWindow* splitter = new wxSplitterWindow(this, wxID_ANY); splitter->SetAccessible(new SplitterWindowAccessible(splitter)); - wxListBox* listBox = new wxListBox(splitter, -1); + wxListBox* listBox = new wxListBox(splitter, wxID_ANY); listBox->Append(wxT("Cabbages")); listBox->Append(wxT("Kings")); listBox->Append(wxT("Sealing wax")); listBox->Append(wxT("Strings")); listBox->CreateAccessible(); - listBox->SetHelpText(wxT("This is a sample wxWindows listbox, with a number of items in it.")); + listBox->SetHelpText(wxT("This is a sample wxWidgets listbox, with a number of items in it.")); - m_textCtrl = new wxTextCtrl(splitter, -1, wxT(""), wxDefaultPosition, + m_textCtrl = new wxTextCtrl(splitter, wxID_ANY, wxT(""), wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE); m_textCtrl->CreateAccessible(); - m_textCtrl->SetHelpText(wxT("This is a sample wxWindows multiline text control.")); + m_textCtrl->SetHelpText(wxT("This is a sample wxWidgets multiline text control.")); splitter->SplitHorizontally(listBox, m_textCtrl, 150); #if 0 - wxScrolledWindow* scrolledWindow = new wxScrolledWindow(this, -1); + wxScrolledWindow* scrolledWindow = new wxScrolledWindow(this, wxID_ANY); scrolledWindow->SetAccessible(new ScrolledWindowAccessible(scrolledWindow)); #endif } @@ -385,17 +388,17 @@ MyFrame::MyFrame(const wxString& title, const wxPoint& pos, const wxSize& size, void MyFrame::OnQuit(wxCommandEvent& WXUNUSED(event)) { - // TRUE is to force the frame to close - Close(TRUE); + // true is to force the frame to close + Close(true); } void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event)) { wxString msg; - msg.Printf( _T("This is the About dialog of the AccessTest sample.\n") - _T("Welcome to %s"), wxVERSION_STRING); + msg.Printf( wxT("This is the About dialog of the AccessTest sample.\n") + wxT("Welcome to %s"), wxVERSION_STRING); - wxMessageBox(msg, _T("About AccessTest"), wxOK | wxICON_INFORMATION, this); + wxMessageBox(msg, wxT("About AccessTest"), wxOK | wxICON_INFORMATION, this); } void MyFrame::OnQuery(wxCommandEvent& WXUNUSED(event)) @@ -428,7 +431,7 @@ void MyFrame::OnQuery(wxCommandEvent& WXUNUSED(event)) accessibleFrame->Release(); return; } - + long obtained = 0; VARIANT *var = new VARIANT[childCount]; @@ -438,7 +441,7 @@ void MyFrame::OnQuery(wxCommandEvent& WXUNUSED(event)) VariantInit(& (var[i])); var[i].vt = VT_DISPATCH; } - + if (S_OK == AccessibleChildren(accessibleFrame, 0, childCount, var, &obtained)) { for (i = 0; i < childCount; i++) @@ -449,7 +452,7 @@ void MyFrame::OnQuery(wxCommandEvent& WXUNUSED(event)) if (var[i].pdispVal->QueryInterface(IID_IAccessible, (LPVOID*) & childAccessible) == S_OK) { var[i].pdispVal->Release(); - + wxString name, role; GetInfo(childAccessible, 0, name, role); wxString str; @@ -498,7 +501,7 @@ void MyFrame::LogObject(int indent, IAccessible* obj) wxString str; str.Printf(wxT("Name = %s; Role = %s"), name.c_str(), role.c_str()); - str.Pad(indent, wxT(' '), FALSE); + str.Pad(indent, wxT(' '), false); Log(str); } @@ -507,7 +510,7 @@ void MyFrame::LogObject(int indent, IAccessible* obj) { wxString str; str.Printf(wxT("There are %d children."), (int) childCount); - str.Pad(indent, wxT(' '), FALSE); + str.Pad(indent, wxT(' '), false); Log(str); Log(wxT("")); } @@ -519,7 +522,7 @@ void MyFrame::LogObject(int indent, IAccessible* obj) wxString str; str.Printf(wxT("%d) Name = %s; Role = %s"), i, name.c_str(), role.c_str()); - str.Pad(indent, wxT(' '), FALSE); + str.Pad(indent, wxT(' '), false); Log(str); VARIANT var; @@ -533,7 +536,7 @@ void MyFrame::LogObject(int indent, IAccessible* obj) { wxString str; str.Printf(wxT("This is a real object.")); - str.Pad(indent+4, wxT(' '), FALSE); + str.Pad(indent+4, wxT(' '), false); Log(str); if (pDisp->QueryInterface(IID_IAccessible, (LPVOID*) & childObject) == S_OK) @@ -547,7 +550,7 @@ void MyFrame::LogObject(int indent, IAccessible* obj) { wxString str; str.Printf(wxT("This is an element.")); - str.Pad(indent+4, wxT(' '), FALSE); + str.Pad(indent+4, wxT(' '), false); Log(str); } // Log(wxT("")); @@ -562,10 +565,10 @@ void MyFrame::GetInfo(IAccessible* accessible, int id, wxString& name, wxString& VariantInit(& var); var.vt = VT_I4; var.lVal = id; - + BSTR bStrName = 0; HRESULT hResult = accessible->get_accName(var, & bStrName); - + if (hResult == S_OK) { name = wxConvertStringFromOle(bStrName); @@ -575,23 +578,23 @@ void MyFrame::GetInfo(IAccessible* accessible, int id, wxString& name, wxString& { name = wxT("NO NAME"); } - + VARIANT varRole; VariantInit(& varRole); - + hResult = accessible->get_accRole(var, & varRole); - + if (hResult == S_OK && varRole.vt == VT_I4) { wxChar buf[256]; GetRoleText(varRole.lVal, buf, 256); - + role = buf; } else { role = wxT("NO ROLE"); - } + } } /* @@ -714,14 +717,14 @@ wxAccStatus SplitterWindowAccessible::Navigate(wxNavDir navDir, int fromId, return wxACC_FALSE; } break; - + case wxNAVDIR_LASTCHILD: { if (fromId == 2) return wxACC_FALSE; } break; - + case wxNAVDIR_LEFT: { if (splitter->GetSplitMode() != wxSPLIT_HORIZONTAL) @@ -745,7 +748,7 @@ wxAccStatus SplitterWindowAccessible::Navigate(wxNavDir navDir, int fromId, // below line is not executed due to earlier return break; #endif - + case wxNAVDIR_NEXT: { if (fromId == 1) @@ -766,7 +769,7 @@ wxAccStatus SplitterWindowAccessible::Navigate(wxNavDir navDir, int fromId, // below line is not executed due to earlier return break; #endif - + case wxNAVDIR_PREVIOUS: { if (fromId == 3) @@ -787,7 +790,7 @@ wxAccStatus SplitterWindowAccessible::Navigate(wxNavDir navDir, int fromId, // below line is not executed due to earlier return break; #endif - + case wxNAVDIR_RIGHT: { if (splitter->GetSplitMode() != wxSPLIT_HORIZONTAL) @@ -806,13 +809,13 @@ wxAccStatus SplitterWindowAccessible::Navigate(wxNavDir navDir, int fromId, } } // Can't go right spatially if split horizontally. - return wxACC_FALSE; + return wxACC_FALSE; } #if 0 // below line is not executed due to earlier return break; #endif - + case wxNAVDIR_UP: { if (splitter->GetSplitMode() != wxSPLIT_VERTICAL) @@ -831,14 +834,14 @@ wxAccStatus SplitterWindowAccessible::Navigate(wxNavDir navDir, int fromId, } // Can't go up spatially if split vertically. - return wxACC_FALSE; + return wxACC_FALSE; #if 0 // below line is not executed due to earlier return break; #endif } } - + } // Let the framework handle the other cases. return wxACC_NOT_IMPLEMENTED; @@ -1100,7 +1103,7 @@ wxAccStatus SplitterWindowAccessible::GetFocus(int* WXUNUSED(childId), wxAccessi // Gets a variant representing the selected children // of this object. // Acceptable values: -// - a null variant (IsNull() returns TRUE) +// - a null variant (IsNull() returns true) // - a list variant (GetType() == wxT("list")) // - an integer representing the selected child element, // or 0 if this object is selected (GetType() == wxT("long"))