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:
@@ -19,36 +19,6 @@ class WXDLLEXPORT wxDC;
|
|||||||
class WXDLLEXPORT wxBitmap;
|
class WXDLLEXPORT wxBitmap;
|
||||||
class WXDLLEXPORT wxColour;
|
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
|
class WXDLLEXPORT wxGenericImageList: public wxObject
|
||||||
{
|
{
|
||||||
@@ -87,7 +57,7 @@ private:
|
|||||||
DECLARE_DYNAMIC_CLASS(wxGenericImageList)
|
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
|
* wxImageList has to be a real class or we have problems with
|
||||||
* the run-time information.
|
* the run-time information.
|
||||||
@@ -105,7 +75,7 @@ public:
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
#endif // !__WXMSW__ || __WXUNIVERSAL__
|
#endif // !HAVE_NATIVE_IMAGELIST
|
||||||
|
|
||||||
#endif // __IMAGELISTH_G__
|
#endif // __IMAGELISTH_G__
|
||||||
|
|
||||||
|
@@ -13,18 +13,14 @@
|
|||||||
|
|
||||||
#include "wx/defs.h"
|
#include "wx/defs.h"
|
||||||
#include "wx/object.h"
|
#include "wx/object.h"
|
||||||
#ifdef __WXMAC__
|
|
||||||
#include "wx/imaglist.h"
|
#include "wx/imaglist.h"
|
||||||
#else
|
|
||||||
#include "wx/generic/imaglist.h"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "wx/control.h"
|
#include "wx/control.h"
|
||||||
#include "wx/timer.h"
|
#include "wx/timer.h"
|
||||||
#include "wx/dcclient.h"
|
#include "wx/dcclient.h"
|
||||||
#include "wx/scrolwin.h"
|
#include "wx/scrolwin.h"
|
||||||
#include "wx/settings.h"
|
#include "wx/settings.h"
|
||||||
#include "wx/listbase.h"
|
#include "wx/listctrl.h"
|
||||||
#include "wx/textctrl.h"
|
#include "wx/textctrl.h"
|
||||||
|
|
||||||
#if wxUSE_DRAG_AND_DROP
|
#if wxUSE_DRAG_AND_DROP
|
||||||
@@ -37,23 +33,6 @@ class WXDLLEXPORT wxDropTarget;
|
|||||||
|
|
||||||
extern WXDLLEXPORT_DATA(const wxChar) wxGenericListCtrlNameStr[];
|
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
|
// internal classes
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
@@ -136,9 +115,9 @@ public:
|
|||||||
void SetWindowStyleFlag( long style );
|
void SetWindowStyleFlag( long style );
|
||||||
void RecreateWindow() {}
|
void RecreateWindow() {}
|
||||||
long GetNextItem( long item, int geometry = wxLIST_NEXT_ALL, int state = wxLIST_STATE_DONTCARE ) const;
|
long GetNextItem( long item, int geometry = wxLIST_NEXT_ALL, int state = wxLIST_STATE_DONTCARE ) const;
|
||||||
wxImageListType *GetImageList( int which ) const;
|
wxImageList *GetImageList( int which ) const;
|
||||||
void SetImageList( wxImageListType *imageList, int which );
|
void SetImageList( wxImageList *imageList, int which );
|
||||||
void AssignImageList( wxImageListType *imageList, int which );
|
void AssignImageList( wxImageList *imageList, int which );
|
||||||
bool Arrange( int flag = wxLIST_ALIGN_DEFAULT ); // always wxLIST_ALIGN_LEFT in wxGLC
|
bool Arrange( int flag = wxLIST_ALIGN_DEFAULT ); // always wxLIST_ALIGN_LEFT in wxGLC
|
||||||
|
|
||||||
void ClearAll();
|
void ClearAll();
|
||||||
@@ -230,9 +209,9 @@ public:
|
|||||||
// implementation
|
// implementation
|
||||||
// --------------
|
// --------------
|
||||||
|
|
||||||
wxImageListType *m_imageListNormal;
|
wxImageList *m_imageListNormal;
|
||||||
wxImageListType *m_imageListSmall;
|
wxImageList *m_imageListSmall;
|
||||||
wxImageListType *m_imageListState; // what's that ?
|
wxImageList *m_imageListState; // what's that ?
|
||||||
bool m_ownsImageListNormal,
|
bool m_ownsImageListNormal,
|
||||||
m_ownsImageListSmall,
|
m_ownsImageListSmall,
|
||||||
m_ownsImageListState;
|
m_ownsImageListState;
|
||||||
|
@@ -12,12 +12,39 @@
|
|||||||
#ifndef _WX_IMAGLIST_H_BASE_
|
#ifndef _WX_IMAGLIST_H_BASE_
|
||||||
#define _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__)
|
#if defined(__WIN32__) && !defined(__WXUNIVERSAL__)
|
||||||
#include "wx/msw/imaglist.h"
|
#include "wx/msw/imaglist.h"
|
||||||
#elif defined(__WXMAC_CARBON__)
|
#elif defined(__WXMAC_CARBON__)
|
||||||
#include "wx/mac/imaglist.h"
|
#include "wx/mac/imaglist.h"
|
||||||
#else
|
|
||||||
#include "wx/generic/imaglist.h"
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@@ -19,37 +19,6 @@ class WXDLLEXPORT wxDC;
|
|||||||
class WXDLLEXPORT wxBitmap;
|
class WXDLLEXPORT wxBitmap;
|
||||||
class WXDLLEXPORT wxColour;
|
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
|
class WXDLLEXPORT wxImageList: public wxObject
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@@ -14,33 +14,6 @@
|
|||||||
|
|
||||||
#include "wx/bitmap.h"
|
#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
|
// Eventually we'll make this a reference-counted wxGDIObject. For
|
||||||
// now, the app must take care of ownership issues. That is, the
|
// 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
|
// image lists must be explicitly deleted after the control(s) that uses them
|
||||||
|
@@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
#ifndef __WXPALMOS__
|
#ifndef __WXPALMOS__
|
||||||
|
|
||||||
#include "wx/generic/imaglist.h"
|
#include "wx/imaglist.h"
|
||||||
|
|
||||||
#ifndef WX_PRECOMP
|
#ifndef WX_PRECOMP
|
||||||
#include "wx/dc.h"
|
#include "wx/dc.h"
|
||||||
@@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
IMPLEMENT_DYNAMIC_CLASS(wxGenericImageList, wxObject)
|
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
|
* wxImageList has to be a real class or we have problems with
|
||||||
* the run-time information.
|
* the run-time information.
|
||||||
|
@@ -618,7 +618,7 @@ public:
|
|||||||
void GetImageSize( int index, int &width, int &height ) const;
|
void GetImageSize( int index, int &width, int &height ) const;
|
||||||
int GetTextLength( const wxString &s ) 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 );
|
void SetItemSpacing( int spacing, bool isSmall = false );
|
||||||
int GetItemSpacing( bool isSmall = false );
|
int GetItemSpacing( bool isSmall = false );
|
||||||
|
|
||||||
@@ -750,8 +750,8 @@ public:
|
|||||||
bool m_dirty;
|
bool m_dirty;
|
||||||
|
|
||||||
wxColour *m_highlightColour;
|
wxColour *m_highlightColour;
|
||||||
wxImageListType *m_small_image_list;
|
wxImageList *m_small_image_list;
|
||||||
wxImageListType *m_normal_image_list;
|
wxImageList *m_normal_image_list;
|
||||||
int m_small_spacing;
|
int m_small_spacing;
|
||||||
int m_normal_spacing;
|
int m_normal_spacing;
|
||||||
bool m_hasFocus;
|
bool m_hasFocus;
|
||||||
@@ -1745,7 +1745,7 @@ void wxListHeaderWindow::OnPaint( wxPaintEvent &WXUNUSED(event) )
|
|||||||
static const int MARGIN_BETWEEN_TEXT_AND_ICON = 2;
|
static const int MARGIN_BETWEEN_TEXT_AND_ICON = 2;
|
||||||
int ix = 0, iy = 0; // init them just to suppress the compiler warnings
|
int ix = 0, iy = 0; // init them just to suppress the compiler warnings
|
||||||
const int image = item.m_image;
|
const int image = item.m_image;
|
||||||
wxImageListType *imageList;
|
wxImageList *imageList;
|
||||||
if ( image != -1 )
|
if ( image != -1 )
|
||||||
{
|
{
|
||||||
imageList = m_owner->m_small_image_list;
|
imageList = m_owner->m_small_image_list;
|
||||||
@@ -2147,8 +2147,8 @@ void wxListMainWindow::Init()
|
|||||||
m_headerWidth =
|
m_headerWidth =
|
||||||
m_lineHeight = 0;
|
m_lineHeight = 0;
|
||||||
|
|
||||||
m_small_image_list = (wxImageListType *) NULL;
|
m_small_image_list = (wxImageList *) NULL;
|
||||||
m_normal_image_list = (wxImageListType *) NULL;
|
m_normal_image_list = (wxImageList *) NULL;
|
||||||
|
|
||||||
m_small_spacing = 30;
|
m_small_spacing = 30;
|
||||||
m_normal_spacing = 40;
|
m_normal_spacing = 40;
|
||||||
@@ -3453,7 +3453,7 @@ int wxListMainWindow::GetTextLength( const wxString &s ) const
|
|||||||
return lw + AUTOSIZE_COL_MARGIN;
|
return lw + AUTOSIZE_COL_MARGIN;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxListMainWindow::SetImageList( wxImageListType *imageList, int which )
|
void wxListMainWindow::SetImageList( wxImageList *imageList, int which )
|
||||||
{
|
{
|
||||||
m_dirty = true;
|
m_dirty = true;
|
||||||
|
|
||||||
@@ -4688,9 +4688,9 @@ END_EVENT_TABLE()
|
|||||||
|
|
||||||
wxGenericListCtrl::wxGenericListCtrl()
|
wxGenericListCtrl::wxGenericListCtrl()
|
||||||
{
|
{
|
||||||
m_imageListNormal = (wxImageListType *) NULL;
|
m_imageListNormal = (wxImageList *) NULL;
|
||||||
m_imageListSmall = (wxImageListType *) NULL;
|
m_imageListSmall = (wxImageList *) NULL;
|
||||||
m_imageListState = (wxImageListType *) NULL;
|
m_imageListState = (wxImageList *) NULL;
|
||||||
|
|
||||||
m_ownsImageListNormal =
|
m_ownsImageListNormal =
|
||||||
m_ownsImageListSmall =
|
m_ownsImageListSmall =
|
||||||
@@ -4760,7 +4760,7 @@ bool wxGenericListCtrl::Create(wxWindow *parent,
|
|||||||
{
|
{
|
||||||
m_imageListNormal =
|
m_imageListNormal =
|
||||||
m_imageListSmall =
|
m_imageListSmall =
|
||||||
m_imageListState = (wxImageListType *) NULL;
|
m_imageListState = (wxImageList *) NULL;
|
||||||
m_ownsImageListNormal =
|
m_ownsImageListNormal =
|
||||||
m_ownsImageListSmall =
|
m_ownsImageListSmall =
|
||||||
m_ownsImageListState = false;
|
m_ownsImageListState = false;
|
||||||
@@ -5126,7 +5126,7 @@ long wxGenericListCtrl::GetNextItem( long item, int geom, int state ) const
|
|||||||
return m_mainWin->GetNextItem( item, geom, state );
|
return m_mainWin->GetNextItem( item, geom, state );
|
||||||
}
|
}
|
||||||
|
|
||||||
wxImageListType *wxGenericListCtrl::GetImageList(int which) const
|
wxImageList *wxGenericListCtrl::GetImageList(int which) const
|
||||||
{
|
{
|
||||||
if (which == wxIMAGE_LIST_NORMAL)
|
if (which == wxIMAGE_LIST_NORMAL)
|
||||||
return m_imageListNormal;
|
return m_imageListNormal;
|
||||||
@@ -5135,10 +5135,10 @@ wxImageListType *wxGenericListCtrl::GetImageList(int which) const
|
|||||||
else if (which == wxIMAGE_LIST_STATE)
|
else if (which == wxIMAGE_LIST_STATE)
|
||||||
return m_imageListState;
|
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 )
|
if ( which == wxIMAGE_LIST_NORMAL )
|
||||||
{
|
{
|
||||||
@@ -5165,7 +5165,7 @@ void wxGenericListCtrl::SetImageList( wxImageListType *imageList, int which )
|
|||||||
m_mainWin->SetImageList( imageList, which );
|
m_mainWin->SetImageList( imageList, which );
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxGenericListCtrl::AssignImageList(wxImageListType *imageList, int which)
|
void wxGenericListCtrl::AssignImageList(wxImageList *imageList, int which)
|
||||||
{
|
{
|
||||||
SetImageList(imageList, which);
|
SetImageList(imageList, which);
|
||||||
if ( which == wxIMAGE_LIST_NORMAL )
|
if ( which == wxIMAGE_LIST_NORMAL )
|
||||||
|
Reference in New Issue
Block a user