projects
/
wxWidgets.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added code to test UI updating of menu items in MDI apps
[wxWidgets.git]
/
src
/
motif
/
listbox.cpp
diff --git
a/src/motif/listbox.cpp
b/src/motif/listbox.cpp
index 1fa40e0bff7b03073cd3550f05ef8fe66746327f..d0cd48fdec4f89f0eef84f43eb5f5f3b96908775 100644
(file)
--- a/
src/motif/listbox.cpp
+++ b/
src/motif/listbox.cpp
@@
-1,5
+1,5
@@
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
-// Name: listbox.cpp
+// Name:
src/motif/
listbox.cpp
// Purpose: wxListBox
// Author: Julian Smart
// Modified by:
// Purpose: wxListBox
// Author: Julian Smart
// Modified by:
@@
-9,25
+9,26
@@
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
-#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
- #pragma implementation "listbox.h"
-#endif
-
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
// For compilers that support precompilation, includes "wx.h".
#include "wx/wxprec.h"
+#if wxUSE_LISTBOX
+
+#include "wx/listbox.h"
+
+#ifndef WX_PRECOMP
+ #include "wx/dynarray.h"
+ #include "wx/log.h"
+ #include "wx/utils.h"
+ #include "wx/settings.h"
+ #include "wx/arrstr.h"
+#endif
+
#ifdef __VMS
#define XtParent XTPARENT
#define XtDisplay XTDISPLAY
#endif
#ifdef __VMS
#define XtParent XTPARENT
#define XtDisplay XTDISPLAY
#endif
-# include "wx/listbox.h"
-#include "wx/settings.h"
-#include "wx/dynarray.h"
-#include "wx/log.h"
-#include "wx/utils.h"
-#include "wx/arrstr.h"
-
#ifdef __VMS__
#pragma message disable nosimpint
#endif
#ifdef __VMS__
#pragma message disable nosimpint
#endif
@@
-91,17
+92,11
@@
bool wxListBox::Create(wxWindow *parent, wxWindowID id,
validator, name ) )
return false;
validator, name ) )
return false;
- m_noItems = n;
+ m_noItems =
(unsigned int)
n;
m_backgroundColour = * wxWHITE;
Widget parentWidget = (Widget) parent->GetClientWidget();
m_backgroundColour = * wxWHITE;
Widget parentWidget = (Widget) parent->GetClientWidget();
-
- WXFontType fontType = (WXFontType)NULL;
-
- if( m_font.Ok() )
- {
- fontType = m_font.GetFontType(XtDisplay(parentWidget));
- }
+ Display* dpy = XtDisplay(parentWidget);
Arg args[4];
int count = 0;
Arg args[4];
int count = 0;
@@
-111,9
+106,10
@@
bool wxListBox::Create(wxWindow *parent, wxWindowID id,
( m_windowStyle & wxLB_EXTENDED ) ? XmEXTENDED_SELECT :
XmBROWSE_SELECT );
++count;
( m_windowStyle & wxLB_EXTENDED ) ? XmEXTENDED_SELECT :
XmBROWSE_SELECT );
++count;
- if(
fontType
)
+ if(
m_font.Ok()
)
{
{
- XtSetArg( args[count], (String)wxFont::GetFontTag(), fontType );
+ XtSetArg( args[count],
+ (String)wxFont::GetFontTag(), m_font.GetFontTypeC(dpy) );
++count;
}
if( m_windowStyle & wxLB_ALWAYS_SB )
++count;
}
if( m_windowStyle & wxLB_ALWAYS_SB )
@@
-199,8
+195,9
@@
void wxListBox::DoSetFirstItem( int N )
{
int count, length;
{
int count, length;
- if (
N < 0
)
+ if (
!IsValid(N)
)
return;
return;
+
XtVaGetValues ((Widget) m_mainWidget,
XmNvisibleItemCount, &count,
XmNitemCount, &length,
XtVaGetValues ((Widget) m_mainWidget,
XmNvisibleItemCount, &count,
XmNitemCount, &length,
@@
-210,7
+207,7
@@
void wxListBox::DoSetFirstItem( int N )
XmListSetPos ((Widget) m_mainWidget, N + 1);
}
XmListSetPos ((Widget) m_mainWidget, N + 1);
}
-void wxListBox::Delete(
int N
)
+void wxListBox::Delete(
unsigned int n
)
{
wxSizeKeeper sk( this );
Widget listBox = (Widget) m_mainWidget;
{
wxSizeKeeper sk( this );
Widget listBox = (Widget) m_mainWidget;
@@
-220,13
+217,13
@@
void wxListBox::Delete(int N)
if (managed)
XtUnmanageChild (listBox);
if (managed)
XtUnmanageChild (listBox);
- XmListDeletePos (listBox,
N
+ 1);
+ XmListDeletePos (listBox,
n
+ 1);
if (managed)
XtManageChild (listBox);
sk.Restore();
if (managed)
XtManageChild (listBox);
sk.Restore();
- m_clientDataDict.Delete(
N
, HasClientObjectData());
+ m_clientDataDict.Delete(
n
, HasClientObjectData());
m_noItems --;
}
m_noItems --;
}
@@
-271,7
+268,7
@@
void wxListBox::DoSetItems(const wxArrayString& items, void** clientData)
if (managed)
XtUnmanageChild (listBox);
XmString *text = new XmString[items.GetCount()];
if (managed)
XtUnmanageChild (listBox);
XmString *text = new XmString[items.GetCount()];
-
size_
t i;
+
unsigned in
t i;
for (i = 0; i < items.GetCount(); ++i)
text[i] = wxStringToXmString (items[i]);
for (i = 0; i < items.GetCount(); ++i)
text[i] = wxStringToXmString (items[i]);
@@
-315,8
+312,10
@@
int wxDoFindStringInList(Widget w, const wxString& s)
return -1;
}
return -1;
}
-int wxListBox::FindString(const wxString& s) const
+int wxListBox::FindString(const wxString& s
, bool WXUNUSED(bCase)
) const
{
{
+ // FIXME: back to base class for not supported value of bCase
+
return wxDoFindStringInList( (Widget)m_mainWidget, s );
}
return wxDoFindStringInList( (Widget)m_mainWidget, s );
}
@@
-337,7
+336,7
@@
void wxListBox::Clear()
m_noItems = 0;
}
m_noItems = 0;
}
-void wxListBox::SetSelection(int N, bool select)
+void wxListBox::
Do
SetSelection(int N, bool select)
{
m_inSetValue = true;
if (select)
{
m_inSetValue = true;
if (select)
@@
-394,24
+393,24
@@
bool wxListBox::IsSelected(int N) const
return false;
}
return false;
}
-void wxListBox::DoSetItemClientObject(int n, wxClientData* clientData)
+void wxListBox::DoSetItemClientObject(
unsigned
int n, wxClientData* clientData)
{
m_clientDataDict.Set(n, clientData, false);
}
{
m_clientDataDict.Set(n, clientData, false);
}
-wxClientData* wxListBox::DoGetItemClientObject(int n) const
+wxClientData* wxListBox::DoGetItemClientObject(
unsigned
int n) const
{
return m_clientDataDict.Get(n);
}
{
return m_clientDataDict.Get(n);
}
-void *wxListBox::DoGetItemClientData(
int N
) const
+void *wxListBox::DoGetItemClientData(
unsigned int n
) const
{
{
- return (void*)m_clientDataDict.Get(
N
);
+ return (void*)m_clientDataDict.Get(
n
);
}
}
-void wxListBox::DoSetItemClientData(
int N
, void *Client_data)
+void wxListBox::DoSetItemClientData(
unsigned int n
, void *Client_data)
{
{
- m_clientDataDict.Set(
N
, (wxClientData*)Client_data, false);
+ m_clientDataDict.Set(
n
, (wxClientData*)Client_data, false);
}
// Return number of selections and an array of selected integers
}
// Return number of selections and an array of selected integers
@@
-481,12
+480,12
@@
wxString wxDoGetStringInList( Widget listBox, int n )
return wxEmptyString;
}
return wxEmptyString;
}
-wxString wxListBox::GetString(
int n
) const
+wxString wxListBox::GetString(
unsigned int n
) const
{
return wxDoGetStringInList( (Widget)m_mainWidget, n );
}
{
return wxDoGetStringInList( (Widget)m_mainWidget, n );
}
-void wxListBox::DoInsertItems(const wxArrayString& items, int pos)
+void wxListBox::DoInsertItems(const wxArrayString& items,
unsigned
int pos)
{
wxSizeKeeper sk( this );
Widget listBox = (Widget) m_mainWidget;
{
wxSizeKeeper sk( this );
Widget listBox = (Widget) m_mainWidget;
@@
-497,7
+496,7
@@
void wxListBox::DoInsertItems(const wxArrayString& items, int pos)
XtUnmanageChild(listBox);
XmString *text = new XmString[items.GetCount()];
XtUnmanageChild(listBox);
XmString *text = new XmString[items.GetCount()];
-
size_
t i;
+
unsigned in
t i;
// Steve Hammes: Motif 1.1 compatibility
// #if XmVersion > 1100
// Corrected by Sergey Krasnov from Steve Hammes' code
// Steve Hammes: Motif 1.1 compatibility
// #if XmVersion > 1100
// Corrected by Sergey Krasnov from Steve Hammes' code
@@
-529,7
+528,7
@@
void wxListBox::DoInsertItems(const wxArrayString& items, int pos)
m_noItems += items.GetCount();
}
m_noItems += items.GetCount();
}
-void wxListBox::SetString(
int N
, const wxString& s)
+void wxListBox::SetString(
unsigned int n
, const wxString& s)
{
wxSizeKeeper sk( this );
Widget listBox = (Widget) m_mainWidget;
{
wxSizeKeeper sk( this );
Widget listBox = (Widget) m_mainWidget;
@@
-538,8
+537,8
@@
void wxListBox::SetString(int N, const wxString& s)
// delete the item and add it again.
// FIXME isn't there a way to change it in place?
// delete the item and add it again.
// FIXME isn't there a way to change it in place?
- XmListDeletePos (listBox,
N
+1);
- XmListAddItem (listBox, text(),
N
+1);
+ XmListDeletePos (listBox,
n
+1);
+ XmListAddItem (listBox, text(),
n
+1);
sk.Restore();
}
sk.Restore();
}
@@
-670,7
+669,7
@@
void wxListBox::ChangeForegroundColour()
*/
}
*/
}
-int wxListBox::GetCount() const
+
unsigned
int wxListBox::GetCount() const
{
return m_noItems;
}
{
return m_noItems;
}
@@
-722,3
+721,4
@@
wxSize wxListBox::DoGetBestSize() const
return wxDoGetListBoxBestSize( (Widget)m_mainWidget, this );
}
return wxDoGetListBoxBestSize( (Widget)m_mainWidget, this );
}
+#endif // wxUSE_LISTBOX