wxWidgets/include/wx/iconloc.h
2003-06-21 13:39:40 +00:00

75 lines
2.0 KiB
C++

///////////////////////////////////////////////////////////////////////////////
// Name: wx/iconloc.h
// Purpose: declaration of wxIconLocation class
// Author: Vadim Zeitlin
// Modified by:
// Created: 21.06.2003
// RCS-ID: $Id$
// Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwindows.org>
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#ifndef _WX_ICONLOC_H_
#define _WX_ICONLOC_H_
#include "wx/string.h"
// ----------------------------------------------------------------------------
// wxIconLocation: describes the location of an icon
// ----------------------------------------------------------------------------
class WXDLLEXPORT wxIconLocationBase
{
public:
// ctor takes the name of the file where the icon is
wxEXPLICIT wxIconLocationBase(const wxString& file) : m_filename(file) { }
// default copy ctor, assignment operator and dtor are ok
// returns true if this object is valid/initialized
bool IsOk() const { return !m_filename.empty(); }
// set/get the icon file name
void SetFileName(const wxString& file) { m_filename = file; }
const wxString& GetFileName() const { return m_filename; }
private:
wxString m_filename;
};
// under MSW the same file may contain several icons so we also store the
// index of the icon
#if defined(__WXMSW__)
class WXDLLEXPORT wxIconLocation : public wxIconLocationBase
{
public:
// ctor takes the name of the file where the icon is and the icons index in
// the file
wxEXPLICIT wxIconLocation(const wxString& file, int num = 0);
// set/get the icon index
void SetIndex(int num) { m_index = num; }
int GetIndex() const { return m_index; }
private:
int m_index;
};
inline
wxIconLocation::wxIconLocation(const wxString& file, int num)
: wxIconLocationBase(file)
{
SetIndex(num);
}
#else // !MSW
typedef wxIconLocationBase wxIconLocation;
#endif // platform
#endif // _WX_ICONLOC_H_