本文整理汇总了C++中wxList::Append方法的典型用法代码示例。如果您正苦于以下问题:C++ wxList::Append方法的具体用法?C++ wxList::Append怎么用?C++ wxList::Append使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wxList
的用法示例。
在下文中一共展示了wxList::Append方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnCloseWindow
void wxDialogBase::OnCloseWindow(wxCloseEvent& WXUNUSED(event))
{
// We'll send a Cancel message by default, which may close the dialog.
// Check for looping if the Cancel event handler calls Close().
//
// VZ: this is horrible and MT-unsafe. Can't we reuse some of these global
// lists here? don't dare to change it now, but should be done later!
static wxList closing;
if ( closing.Member(this) )
return;
closing.Append(this);
// When a previously hidden (necessarily modeless) dialog is being closed,
// we must not perform the usual validation and data transfer steps as they
// had been already done when it was hidden and doing it again now would be
// unexpected and could result in e.g. the dialog asking for confirmation
// before discarding the changes being shown again, which doesn't make
// sense as the dialog is not being closed in response to any user action.
if ( !IsShown() || !SendCloseButtonClickEvent() )
{
// If the handler didn't close the dialog (e.g. because there is no
// button with matching id) we still want to close it when the user
// clicks the "x" button in the title bar, otherwise we shouldn't even
// have put it there.
//
// Notice that using wxID_CLOSE might have been a better choice but we
// use wxID_CANCEL for compatibility reasons.
EndDialog(wxID_CANCEL);
}
closing.DeleteObject(this);
}
示例2: OnCloseWindow
void wxDialogBase::OnCloseWindow(wxCloseEvent& WXUNUSED(event))
{
// We'll send a Cancel message by default, which may close the dialog.
// Check for looping if the Cancel event handler calls Close().
//
// VZ: this is horrible and MT-unsafe. Can't we reuse some of these global
// lists here? don't dare to change it now, but should be done later!
static wxList closing;
if ( closing.Member(this) )
return;
closing.Append(this);
if ( !SendCloseButtonClickEvent() )
{
// If the handler didn't close the dialog (e.g. because there is no
// button with matching id) we still want to close it when the user
// clicks the "x" button in the title bar, otherwise we shouldn't even
// have put it there.
//
// Notice that using wxID_CLOSE might have been a better choice but we
// use wxID_CANCEL for compatibility reasons.
EndDialog(wxID_CANCEL);
}
closing.DeleteObject(this);
}
示例3: SetModal
void wxDialog::SetModal(bool flag)
{
if ( flag )
wxModelessWindows.DeleteObject(this);
else
wxModelessWindows.Append(this);
}
示例4: OnCloseWindow
void wxDialogBase::OnCloseWindow(wxCloseEvent& WXUNUSED(event))
{
// We'll send a Cancel message by default, which may close the dialog.
// Check for looping if the Cancel event handler calls Close().
// Note that if a cancel button and handler aren't present in the dialog,
// nothing will happen when you close the dialog via the window manager, or
// via Close(). We wouldn't want to destroy the dialog by default, since
// the dialog may have been created on the stack. However, this does mean
// that calling dialog->Close() won't delete the dialog unless the handler
// for wxID_CANCEL does so. So use Destroy() if you want to be sure to
// destroy the dialog. The default OnCancel (above) simply ends a modal
// dialog, and hides a modeless dialog.
int idCancel = GetEscapeId();
if ( idCancel == wxID_NONE )
return;
if ( idCancel == wxID_ANY )
idCancel = wxID_CANCEL;
// VZ: this is horrible and MT-unsafe. Can't we reuse some of these global
// lists here? don't dare to change it now, but should be done later!
static wxList closing;
if ( closing.Member(this) )
return;
closing.Append(this);
wxCommandEvent cancelEvent(wxEVT_COMMAND_BUTTON_CLICKED, idCancel);
cancelEvent.SetEventObject( this );
GetEventHandler()->ProcessEvent(cancelEvent); // This may close the dialog
closing.DeleteObject(this);
}
示例5: DoShowModal
void wxDialog::DoShowModal()
{
wxCHECK_RET( !IsModalShowing(), _T("DoShowModal() called twice") );
wxModalDialogs.Append(this);
SetFocus() ;
#if TARGET_CARBON
BeginAppModalStateForWindow( (WindowRef) MacGetWindowRef()) ;
#else
// TODO : test whether parent gets disabled
bool formerModal = s_macIsInModalLoop ;
s_macIsInModalLoop = true ;
#endif
while ( IsModalShowing() )
{
wxTheApp->MacDoOneEvent() ;
// calls process idle itself
}
#if TARGET_CARBON
EndAppModalStateForWindow( (WindowRef) MacGetWindowRef() ) ;
#else
// TODO probably reenable the parent window if any
s_macIsInModalLoop = formerModal ;
#endif
}
示例6: wxMDIChildFrame
MyChild::MyChild(wxMDIParentFrame *parent, const wxString& title, const wxPoint& pos, const wxSize& size,
const long style):
wxMDIChildFrame(parent, wxID_ANY, title, pos, size, style)
{
canvas = NULL;
my_children.Append(this);
}
示例7: ocpn_wx_spline_add_point
static bool ocpn_wx_spline_add_point(double x, double y)
{
wxPoint *point = new wxPoint ;
point->x = (int) x;
point->y = (int) y;
ocpn_wx_spline_point_list.Append((wxObject*)point);
return true;
}
示例8: GetChildren
void wxTreeLayoutStored::GetChildren(long id, wxList& list)
{
long currentId = GetTopNode();
while (currentId != wxID_ANY)
{
if (id == GetNodeParent(currentId))
list.Append((wxObject *)currentId);
currentId = GetNextNode(currentId);
}
}
示例9: FindSelectedShapes
void csDiagramView::FindSelectedShapes(wxList& selections, wxClassInfo* toFind)
{
csDiagramDocument *doc = (csDiagramDocument *)GetDocument();
wxObjectList::compatibility_iterator node = doc->GetDiagram()->GetShapeList()->GetFirst();
while (node)
{
wxShape *eachShape = (wxShape *)node->GetData();
if ((eachShape->GetParent() == NULL) && !eachShape->IsKindOf(CLASSINFO(wxLabelShape)) && eachShape->Selected() && ((toFind == NULL) || (eachShape->IsKindOf(toFind))))
{
selections.Append(eachShape);
}
node = node->GetNext();
}
}
示例10: AddItem
void cbGCUpdatesMgr::AddItem( wxList& itemList,
cbBarInfo* pBar,
cbDockPane* pPane,
wxRect& curBounds,
wxRect& prevBounds )
{
cbRectInfo* pInfo = new cbRectInfo();
pInfo->mpBar = pBar;
pInfo->mpPane = pPane;
pInfo->mpCurBounds = &curBounds;
pInfo->mpPrevBounds = &prevBounds;
itemList.Append( (wxObject*) pInfo );
}
示例11: wxAddAccelerators
// Helper for wxCreateAcceleratorTableForMenuBar
static void wxAddAccelerators(wxList& accelEntries, wxMenu* menu)
{
size_t i;
for (i = 0; i < menu->GetMenuItems().GetCount(); i++)
{
wxMenuItem* item = (wxMenuItem*) menu->GetMenuItems().Item(i)->GetData();
if (item->GetSubMenu())
{
wxAddAccelerators(accelEntries, item->GetSubMenu());
}
else if (!item->GetItemLabel().IsEmpty())
{
wxAcceleratorEntry* entry = wxAcceleratorEntry::Create(item->GetItemLabel());
if (entry)
{
entry->Set(entry->GetFlags(), entry->GetKeyCode(), item->GetId());
accelEntries.Append((wxObject*) entry);
}
}
}
}
示例12: OnNewWindow
void MyFrame::OnNewWindow(wxCommandEvent& WXUNUSED(event) )
{
// Make another frame, containing a canvas
MyChild *subframe ;
m_children.Append (new MyChild(frame, wxT("SVG Frame"),
wxPoint(-1, -1), wxSize(-1, -1),
wxDEFAULT_FRAME_STYLE ) ) ;
subframe = (MyChild *) m_children.GetLast() -> GetData ();
wxString title;
title.Printf(wxT("SVG Test Window %d"), nWinCreated );
// counts number of children previously, even if now closed
nWinCreated ++ ;
// Give it a title and icon
subframe->SetTitle(title);
subframe->SetIcon(wxICON(mondrian));
// Make a menubar
wxMenu *file_menu = new wxMenu;
file_menu->Append(MDI_NEW_WINDOW, wxT("&Another test\tCtrl+N"));
file_menu->Append(MDI_SAVE, wxT("&Save\tCtrl+S"), wxT("Save in SVG format"));
file_menu->Append(MDI_CHILD_QUIT, wxT("&Close child\tCtrl+F4"));
file_menu->Append(MDI_QUIT, wxT("&Exit\tAlt+X"));
wxMenu *help_menu = new wxMenu;
help_menu->Append(MDI_ABOUT, wxT("&About"));
wxMenuBar *menu_bar = new wxMenuBar;
menu_bar->Append(file_menu, wxT("&File"));
menu_bar->Append(help_menu, wxT("&Help"));
// Associate the menu bar with the frame
subframe->SetMenuBar(menu_bar);
subframe->Show(true);
}
示例13: XmDoCreateTLW
bool wxFrame::XmDoCreateTLW(wxWindow* WXUNUSED(parent),
wxWindowID WXUNUSED(id),
const wxString& WXUNUSED(title),
const wxPoint& WXUNUSED(pos),
const wxSize& WXUNUSED(size),
long style,
const wxString& name)
{
Widget frameShell;
frameShell = XtCreatePopupShell( name, topLevelShellWidgetClass,
(Widget)wxTheApp->GetTopLevelWidget(),
NULL, 0 );
XtVaSetValues(frameShell,
// Allows menu to resize
XmNallowShellResize, True,
XmNdeleteResponse, XmDO_NOTHING,
XmNmappedWhenManaged, False,
XmNiconic, (style & wxICONIZE) ? True : False,
NULL);
m_frameShell = (WXWidget)frameShell;
m_mainWidget = (WXWidget) XtVaCreateManagedWidget("main_window",
xmMainWindowWidgetClass, frameShell,
XmNresizePolicy, XmRESIZE_NONE,
NULL);
m_workArea = (WXWidget) XtVaCreateWidget("form",
xmFormWidgetClass, (Widget) m_mainWidget,
XmNresizePolicy, XmRESIZE_NONE,
NULL);
m_clientArea = (WXWidget) XtVaCreateWidget("client",
xmBulletinBoardWidgetClass, (Widget) m_workArea,
XmNmarginWidth, 0,
XmNmarginHeight, 0,
XmNrightAttachment, XmATTACH_FORM,
XmNleftAttachment, XmATTACH_FORM,
XmNtopAttachment, XmATTACH_FORM,
XmNbottomAttachment, XmATTACH_FORM,
NULL);
XtVaSetValues((Widget) m_mainWidget,
XmNworkWindow, (Widget) m_workArea,
NULL);
XtManageChild((Widget) m_clientArea);
XtManageChild((Widget) m_workArea);
XtTranslations ptr = XtParseTranslationTable( "<Configure>: resize()" );
XtOverrideTranslations( (Widget) m_workArea, ptr );
XtFree( (char *)ptr );
/* Part of show-&-hide fix */
XtAddEventHandler( frameShell, StructureNotifyMask,
False, (XtEventHandler)wxFrameMapProc,
(XtPointer)this );
XtRealizeWidget(frameShell);
wxAddWindowToTable( (Widget)m_workArea, this);
wxAddWindowToTable( (Widget)m_clientArea, this);
wxModelessWindows.Append( this );
return true;
}
示例14: AddStyle
/// Add a definition to one of the style lists
bool wxRichTextStyleSheet::AddStyle(wxList& list, wxRichTextStyleDefinition* def)
{
if (!list.Find(def))
list.Append(def);
return true;
}
示例15: Create
bool wxMDIChildFrame::Create(wxMDIParentFrame *parent,
wxWindowID id,
const wxString& title,
const wxPoint& pos,
const wxSize& size,
long style,
const wxString& name)
{
SetName(name);
SetWindowStyleFlag(style);
m_backgroundColour = wxSystemSettings::GetColour(wxSYS_COLOUR_APPWORKSPACE);
m_foregroundColour = *wxBLACK;
m_font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT);
if ( id > -1 )
m_windowId = id;
else
m_windowId = (int)NewControlId();
wxMDIClientWindow* clientWindow = parent->GetClientWindow();
wxASSERT_MSG( (clientWindow != (wxWindow*) NULL), "Missing MDI client window.");
if (clientWindow) clientWindow->AddChild(this);
SetMDIParentFrame(parent);
int width = size.x;
int height = size.y;
if (width == -1)
width = 200; // TODO: give reasonable default
if (height == -1)
height = 200; // TODO: give reasonable default
// We're deactivating the old child
wxMDIChildFrame* oldActiveChild = parent->GetActiveChild();
if (oldActiveChild)
{
wxActivateEvent event(wxEVT_ACTIVATE, false, oldActiveChild->GetId());
event.SetEventObject( oldActiveChild );
oldActiveChild->GetEventHandler()->ProcessEvent(event);
}
// This is the currently active child
parent->SetActiveChild((wxMDIChildFrame*) this);
// This time we'll try a bog-standard bulletin board for
// the 'frame'. A main window doesn't seem to work.
m_mainWidget = (WXWidget) XtVaCreateWidget("client",
xmBulletinBoardWidgetClass, (Widget) clientWindow->GetTopWidget(),
XmNmarginWidth, 0,
XmNmarginHeight, 0,
/*
XmNrightAttachment, XmATTACH_FORM,
XmNleftAttachment, XmATTACH_FORM,
XmNtopAttachment, XmATTACH_FORM,
XmNbottomAttachment, XmATTACH_FORM,
*/
XmNresizePolicy, XmRESIZE_NONE,
NULL);
XtAddEventHandler((Widget) m_mainWidget, ExposureMask,False,
wxUniversalRepaintProc, (XtPointer) this);
AttachWidget (parent, m_mainWidget, (WXWidget) NULL, pos.x, pos.y, size.x, size.y);
ChangeBackgroundColour();
XtManageChild((Widget) m_mainWidget);
SetTitle(title);
clientWindow->AddPage(this, title, true);
clientWindow->Refresh();
// Positions the toolbar and status bar -- but we don't have any.
// PreResize();
wxModelessWindows.Append(this);
return true;
}