Files
wxWidgets/src/motif/popupwin.cpp
Mattia Barbon 833a51f67e Implemented wxPopupWindow for wxMotif.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@24175 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-10-14 17:05:28 +00:00

71 lines
1.6 KiB
C++

/////////////////////////////////////////////////////////////////////////////
// Name: popupwin.cpp
// Purpose: wxPopupWindow implementation
// Author: Mattia barbon
// Modified by:
// Created: 28.08.03
// RCS-ID: $Id$
// Copyright: (c) Mattia barbon
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma implementation "popup.h"
#endif
#include "wx/popupwin.h"
#include "wx/app.h"
#ifdef __VMS__
#pragma message disable nosimpint
#endif
#include <Xm/Xm.h>
#ifdef __VMS__
#pragma message enable nosimpint
#endif
#include "wx/motif/private.h"
IMPLEMENT_DYNAMIC_CLASS( wxPopupWindow, wxWindow );
bool wxPopupWindow::Create( wxWindow *parent, int flags )
{
if( !wxPopupWindowBase::Create( parent, flags ) )
return false;
SetParent( parent );
if( parent )
parent->AddChild( this );
Widget popup = XtVaCreatePopupShell( "shell",
overrideShellWidgetClass,
(Widget)wxTheApp->GetTopLevelWidget(),
NULL );
m_mainWidget = (WXWidget)popup;
SetSize( 100, 100 ); // for child creation to work
XtSetMappedWhenManaged( popup, False );
XtRealizeWidget( popup );
return true;
}
bool wxPopupWindow::Show( bool show )
{
if( !wxWindowBase::Show( show ) )
return false;
if( show )
{
XtPopup( (Widget)GetMainWidget(), XtGrabNone );
}
else
{
XtPopdown( (Widget)GetMainWidget() );
}
return true;
}