Remove duplication in wxImageList defines and always default to using the native wxImageList when available, even for wxGenericListCtrl.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41271 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
f418332658
commit
8a3e173a02
@ -19,36 +19,6 @@ class WXDLLEXPORT wxDC;
|
||||
class WXDLLEXPORT wxBitmap;
|
||||
class WXDLLEXPORT wxColour;
|
||||
|
||||
/*
|
||||
* wxImageList is used for wxListCtrl, wxTreeCtrl. These controls refer to
|
||||
* images for their items by an index into an image list.
|
||||
* A wxImageList is capable of creating images with optional masks from
|
||||
* a variety of sources - a single bitmap plus a colour to indicate the mask,
|
||||
* two bitmaps, or an icon.
|
||||
*
|
||||
* Image lists can also create and draw images used for drag and drop functionality.
|
||||
* This is not yet implemented in wxImageList. We need to discuss a generic API
|
||||
* for doing drag and drop and see whether it ties in with the Win95 view of it.
|
||||
* See below for candidate functions and an explanation of how they might be
|
||||
* used.
|
||||
*/
|
||||
|
||||
#if !defined(wxIMAGELIST_DRAW_NORMAL)
|
||||
|
||||
// Flags for Draw
|
||||
#define wxIMAGELIST_DRAW_NORMAL 0x0001
|
||||
#define wxIMAGELIST_DRAW_TRANSPARENT 0x0002
|
||||
#define wxIMAGELIST_DRAW_SELECTED 0x0004
|
||||
#define wxIMAGELIST_DRAW_FOCUSED 0x0008
|
||||
|
||||
// Flag values for Set/GetImageList
|
||||
enum {
|
||||
wxIMAGE_LIST_NORMAL, // Normal icons
|
||||
wxIMAGE_LIST_SMALL, // Small icons
|
||||
wxIMAGE_LIST_STATE // State icons: unimplemented (see WIN32 documentation)
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
class WXDLLEXPORT wxGenericImageList: public wxObject
|
||||
{
|
||||
@ -87,7 +57,7 @@ private:
|
||||
DECLARE_DYNAMIC_CLASS(wxGenericImageList)
|
||||
};
|
||||
|
||||
#if !defined(__WXMSW__) || defined(__WXUNIVERSAL__)
|
||||
#if !defined(__WXMSW__) && !defined(__WXMAC__)
|
||||
/*
|
||||
* wxImageList has to be a real class or we have problems with
|
||||
* the run-time information.
|
||||
@ -105,7 +75,7 @@ public:
|
||||
{
|
||||
}
|
||||
};
|
||||
#endif // !__WXMSW__ || __WXUNIVERSAL__
|
||||
#endif // !HAVE_NATIVE_IMAGELIST
|
||||
|
||||
#endif // __IMAGELISTH_G__
|
||||
|
||||
|
@ -13,18 +13,14 @@
|
||||
|
||||
#include "wx/defs.h"
|
||||
#include "wx/object.h"
|
||||
#ifdef __WXMAC__
|
||||
#include "wx/imaglist.h"
|
||||
#else
|
||||
#include "wx/generic/imaglist.h"
|
||||
#endif
|
||||
|
||||
#include "wx/control.h"
|
||||
#include "wx/timer.h"
|
||||
#include "wx/dcclient.h"
|
||||
#include "wx/scrolwin.h"
|
||||
#include "wx/settings.h"
|
||||
#include "wx/listbase.h"
|
||||
#include "wx/listctrl.h"
|
||||
#include "wx/textctrl.h"
|
||||
|
||||
#if wxUSE_DRAG_AND_DROP
|
||||
@ -37,23 +33,6 @@ class WXDLLEXPORT wxDropTarget;
|
||||
|
||||
extern WXDLLEXPORT_DATA(const wxChar) wxGenericListCtrlNameStr[];
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// classes
|
||||
//-----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLEXPORT wxListItem;
|
||||
class WXDLLEXPORT wxListEvent;
|
||||
|
||||
#if (!defined(__WXMSW__) || defined(__WXUNIVERSAL__))
|
||||
#ifndef __WXMAC__
|
||||
class WXDLLEXPORT wxListCtrl;
|
||||
#endif
|
||||
#define wxImageListType wxImageList
|
||||
#else
|
||||
#define wxImageListType wxGenericImageList
|
||||
#endif
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// internal classes
|
||||
//-----------------------------------------------------------------------------
|
||||
@ -136,9 +115,9 @@ public:
|
||||
void SetWindowStyleFlag( long style );
|
||||
void RecreateWindow() {}
|
||||
long GetNextItem( long item, int geometry = wxLIST_NEXT_ALL, int state = wxLIST_STATE_DONTCARE ) const;
|
||||
wxImageListType *GetImageList( int which ) const;
|
||||
void SetImageList( wxImageListType *imageList, int which );
|
||||
void AssignImageList( wxImageListType *imageList, int which );
|
||||
wxImageList *GetImageList( int which ) const;
|
||||
void SetImageList( wxImageList *imageList, int which );
|
||||
void AssignImageList( wxImageList *imageList, int which );
|
||||
bool Arrange( int flag = wxLIST_ALIGN_DEFAULT ); // always wxLIST_ALIGN_LEFT in wxGLC
|
||||
|
||||
void ClearAll();
|
||||
@ -230,9 +209,9 @@ public:
|
||||
// implementation
|
||||
// --------------
|
||||
|
||||
wxImageListType *m_imageListNormal;
|
||||
wxImageListType *m_imageListSmall;
|
||||
wxImageListType *m_imageListState; // what's that ?
|
||||
wxImageList *m_imageListNormal;
|
||||
wxImageList *m_imageListSmall;
|
||||
wxImageList *m_imageListState; // what's that ?
|
||||
bool m_ownsImageListNormal,
|
||||
m_ownsImageListSmall,
|
||||
m_ownsImageListState;
|
||||
|
@ -12,12 +12,39 @@
|
||||
#ifndef _WX_IMAGLIST_H_BASE_
|
||||
#define _WX_IMAGLIST_H_BASE_
|
||||
|
||||
/*
|
||||
* wxImageList is used for wxListCtrl, wxTreeCtrl. These controls refer to
|
||||
* images for their items by an index into an image list.
|
||||
* A wxImageList is capable of creating images with optional masks from
|
||||
* a variety of sources - a single bitmap plus a colour to indicate the mask,
|
||||
* two bitmaps, or an icon.
|
||||
*
|
||||
* Image lists can also create and draw images used for drag and drop functionality.
|
||||
* This is not yet implemented in wxImageList. We need to discuss a generic API
|
||||
* for doing drag and drop and see whether it ties in with the Win95 view of it.
|
||||
* See below for candidate functions and an explanation of how they might be
|
||||
* used.
|
||||
*/
|
||||
|
||||
// Flag values for Set/GetImageList
|
||||
enum {
|
||||
wxIMAGE_LIST_NORMAL, // Normal icons
|
||||
wxIMAGE_LIST_SMALL, // Small icons
|
||||
wxIMAGE_LIST_STATE // State icons: unimplemented (see WIN32 documentation)
|
||||
};
|
||||
|
||||
// Flags for Draw
|
||||
#define wxIMAGELIST_DRAW_NORMAL 0x0001
|
||||
#define wxIMAGELIST_DRAW_TRANSPARENT 0x0002
|
||||
#define wxIMAGELIST_DRAW_SELECTED 0x0004
|
||||
#define wxIMAGELIST_DRAW_FOCUSED 0x0008
|
||||
|
||||
#include "wx/generic/imaglist.h"
|
||||
|
||||
#if defined(__WIN32__) && !defined(__WXUNIVERSAL__)
|
||||
#include "wx/msw/imaglist.h"
|
||||
#elif defined(__WXMAC_CARBON__)
|
||||
#include "wx/mac/imaglist.h"
|
||||
#else
|
||||
#include "wx/generic/imaglist.h"
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
@ -19,37 +19,6 @@ class WXDLLEXPORT wxDC;
|
||||
class WXDLLEXPORT wxBitmap;
|
||||
class WXDLLEXPORT wxColour;
|
||||
|
||||
/*
|
||||
* wxImageList is used for wxListCtrl, wxTreeCtrl. These controls refer to
|
||||
* images for their items by an index into an image list.
|
||||
* A wxImageList is capable of creating images with optional masks from
|
||||
* a variety of sources - a single bitmap plus a colour to indicate the mask,
|
||||
* two bitmaps, or an icon.
|
||||
*
|
||||
* Image lists can also create and draw images used for drag and drop functionality.
|
||||
* This is not yet implemented in wxImageList. We need to discuss a generic API
|
||||
* for doing drag and drop and see whether it ties in with the Win95 view of it.
|
||||
* See below for candidate functions and an explanation of how they might be
|
||||
* used.
|
||||
*/
|
||||
|
||||
#if !defined(wxIMAGELIST_DRAW_NORMAL)
|
||||
|
||||
// Flags for Draw
|
||||
#define wxIMAGELIST_DRAW_NORMAL 0x0001
|
||||
#define wxIMAGELIST_DRAW_TRANSPARENT 0x0002
|
||||
#define wxIMAGELIST_DRAW_SELECTED 0x0004
|
||||
#define wxIMAGELIST_DRAW_FOCUSED 0x0008
|
||||
|
||||
// Flag values for Set/GetImageList
|
||||
enum {
|
||||
wxIMAGE_LIST_NORMAL, // Normal icons
|
||||
wxIMAGE_LIST_SMALL, // Small icons
|
||||
wxIMAGE_LIST_STATE // State icons: unimplemented (see WIN32 documentation)
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
class WXDLLEXPORT wxImageList: public wxObject
|
||||
{
|
||||
public:
|
||||
|
@ -14,33 +14,6 @@
|
||||
|
||||
#include "wx/bitmap.h"
|
||||
|
||||
/*
|
||||
* wxImageList is used for wxListCtrl, wxTreeCtrl. These controls refer to
|
||||
* images for their items by an index into an image list.
|
||||
* A wxImageList is capable of creating images with optional masks from
|
||||
* a variety of sources - a single bitmap plus a colour to indicate the mask,
|
||||
* two bitmaps, or an icon.
|
||||
*
|
||||
* Image lists can also create and draw images used for drag and drop functionality.
|
||||
* This is not yet implemented in wxImageList. We need to discuss a generic API
|
||||
* for doing drag and drop and see whether it ties in with the Win95 view of it.
|
||||
* See below for candidate functions and an explanation of how they might be
|
||||
* used.
|
||||
*/
|
||||
|
||||
// Flags for Draw
|
||||
#define wxIMAGELIST_DRAW_NORMAL 0x0001
|
||||
#define wxIMAGELIST_DRAW_TRANSPARENT 0x0002
|
||||
#define wxIMAGELIST_DRAW_SELECTED 0x0004
|
||||
#define wxIMAGELIST_DRAW_FOCUSED 0x0008
|
||||
|
||||
// Flag values for Set/GetImageList
|
||||
enum {
|
||||
wxIMAGE_LIST_NORMAL, // Normal icons
|
||||
wxIMAGE_LIST_SMALL, // Small icons
|
||||
wxIMAGE_LIST_STATE // State icons: unimplemented (see WIN32 documentation)
|
||||
};
|
||||
|
||||
// Eventually we'll make this a reference-counted wxGDIObject. For
|
||||
// now, the app must take care of ownership issues. That is, the
|
||||
// image lists must be explicitly deleted after the control(s) that uses them
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
#ifndef __WXPALMOS__
|
||||
|
||||
#include "wx/generic/imaglist.h"
|
||||
#include "wx/imaglist.h"
|
||||
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/dc.h"
|
||||
@ -32,7 +32,7 @@
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxGenericImageList, wxObject)
|
||||
|
||||
#if !defined(__WXMSW__) || defined(__WXUNIVERSAL__)
|
||||
#if !HAVE_NATIVE_IMAGELIST
|
||||
/*
|
||||
* wxImageList has to be a real class or we have problems with
|
||||
* the run-time information.
|
||||
|
@ -618,7 +618,7 @@ public:
|
||||
void GetImageSize( int index, int &width, int &height ) const;
|
||||
int GetTextLength( const wxString &s ) const;
|
||||
|
||||
void SetImageList( wxImageListType *imageList, int which );
|
||||
void SetImageList( wxImageList *imageList, int which );
|
||||
void SetItemSpacing( int spacing, bool isSmall = false );
|
||||
int GetItemSpacing( bool isSmall = false );
|
||||
|
||||
@ -750,8 +750,8 @@ public:
|
||||
bool m_dirty;
|
||||
|
||||
wxColour *m_highlightColour;
|
||||
wxImageListType *m_small_image_list;
|
||||
wxImageListType *m_normal_image_list;
|
||||
wxImageList *m_small_image_list;
|
||||
wxImageList *m_normal_image_list;
|
||||
int m_small_spacing;
|
||||
int m_normal_spacing;
|
||||
bool m_hasFocus;
|
||||
@ -1745,7 +1745,7 @@ void wxListHeaderWindow::OnPaint( wxPaintEvent &WXUNUSED(event) )
|
||||
static const int MARGIN_BETWEEN_TEXT_AND_ICON = 2;
|
||||
int ix = 0, iy = 0; // init them just to suppress the compiler warnings
|
||||
const int image = item.m_image;
|
||||
wxImageListType *imageList;
|
||||
wxImageList *imageList;
|
||||
if ( image != -1 )
|
||||
{
|
||||
imageList = m_owner->m_small_image_list;
|
||||
@ -2147,8 +2147,8 @@ void wxListMainWindow::Init()
|
||||
m_headerWidth =
|
||||
m_lineHeight = 0;
|
||||
|
||||
m_small_image_list = (wxImageListType *) NULL;
|
||||
m_normal_image_list = (wxImageListType *) NULL;
|
||||
m_small_image_list = (wxImageList *) NULL;
|
||||
m_normal_image_list = (wxImageList *) NULL;
|
||||
|
||||
m_small_spacing = 30;
|
||||
m_normal_spacing = 40;
|
||||
@ -3453,7 +3453,7 @@ int wxListMainWindow::GetTextLength( const wxString &s ) const
|
||||
return lw + AUTOSIZE_COL_MARGIN;
|
||||
}
|
||||
|
||||
void wxListMainWindow::SetImageList( wxImageListType *imageList, int which )
|
||||
void wxListMainWindow::SetImageList( wxImageList *imageList, int which )
|
||||
{
|
||||
m_dirty = true;
|
||||
|
||||
@ -4688,9 +4688,9 @@ END_EVENT_TABLE()
|
||||
|
||||
wxGenericListCtrl::wxGenericListCtrl()
|
||||
{
|
||||
m_imageListNormal = (wxImageListType *) NULL;
|
||||
m_imageListSmall = (wxImageListType *) NULL;
|
||||
m_imageListState = (wxImageListType *) NULL;
|
||||
m_imageListNormal = (wxImageList *) NULL;
|
||||
m_imageListSmall = (wxImageList *) NULL;
|
||||
m_imageListState = (wxImageList *) NULL;
|
||||
|
||||
m_ownsImageListNormal =
|
||||
m_ownsImageListSmall =
|
||||
@ -4760,7 +4760,7 @@ bool wxGenericListCtrl::Create(wxWindow *parent,
|
||||
{
|
||||
m_imageListNormal =
|
||||
m_imageListSmall =
|
||||
m_imageListState = (wxImageListType *) NULL;
|
||||
m_imageListState = (wxImageList *) NULL;
|
||||
m_ownsImageListNormal =
|
||||
m_ownsImageListSmall =
|
||||
m_ownsImageListState = false;
|
||||
@ -5126,7 +5126,7 @@ long wxGenericListCtrl::GetNextItem( long item, int geom, int state ) const
|
||||
return m_mainWin->GetNextItem( item, geom, state );
|
||||
}
|
||||
|
||||
wxImageListType *wxGenericListCtrl::GetImageList(int which) const
|
||||
wxImageList *wxGenericListCtrl::GetImageList(int which) const
|
||||
{
|
||||
if (which == wxIMAGE_LIST_NORMAL)
|
||||
return m_imageListNormal;
|
||||
@ -5135,10 +5135,10 @@ wxImageListType *wxGenericListCtrl::GetImageList(int which) const
|
||||
else if (which == wxIMAGE_LIST_STATE)
|
||||
return m_imageListState;
|
||||
|
||||
return (wxImageListType *) NULL;
|
||||
return (wxImageList *) NULL;
|
||||
}
|
||||
|
||||
void wxGenericListCtrl::SetImageList( wxImageListType *imageList, int which )
|
||||
void wxGenericListCtrl::SetImageList( wxImageList *imageList, int which )
|
||||
{
|
||||
if ( which == wxIMAGE_LIST_NORMAL )
|
||||
{
|
||||
@ -5165,7 +5165,7 @@ void wxGenericListCtrl::SetImageList( wxImageListType *imageList, int which )
|
||||
m_mainWin->SetImageList( imageList, which );
|
||||
}
|
||||
|
||||
void wxGenericListCtrl::AssignImageList(wxImageListType *imageList, int which)
|
||||
void wxGenericListCtrl::AssignImageList(wxImageList *imageList, int which)
|
||||
{
|
||||
SetImageList(imageList, which);
|
||||
if ( which == wxIMAGE_LIST_NORMAL )
|
||||
|
Loading…
Reference in New Issue
Block a user