wxIconBundle implementation.
wxTLW::SetIcons() properly implemented for wxMotif, wxGTK, wxMSW, wxX11, wxUniversal Placeholders that just call SetIcon for wxOS2 and wxMac. Regenerated makefiles. Added hardwired wxSYS_ICON_X/Y = 32 for wxGTK. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14809 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -23,6 +23,7 @@ all: $(MSW_MAKEFILES_DIR)/makefile.vc \
|
|||||||
$(WXDIR)/src/os2/files.lst \
|
$(WXDIR)/src/os2/files.lst \
|
||||||
$(WXDIR)/src/mgl/files.lst \
|
$(WXDIR)/src/mgl/files.lst \
|
||||||
$(WXDIR)/src/microwin/files.lst \
|
$(WXDIR)/src/microwin/files.lst \
|
||||||
|
$(WXDIR)/src/x11/files.lst \
|
||||||
$(WXDIR)/src/univ/files.lst \
|
$(WXDIR)/src/univ/files.lst \
|
||||||
$(WXDIR)/src/wxBase.dsp \
|
$(WXDIR)/src/wxBase.dsp \
|
||||||
$(WXDIR)/src/wxWindows.dsp \
|
$(WXDIR)/src/wxWindows.dsp \
|
||||||
@@ -76,6 +77,9 @@ $(WXDIR)/src/os2/files.lst: os2.t filelist.txt wxwin.pro
|
|||||||
$(WXDIR)/src/univ/files.lst: univ.t filelist.txt wxwin.pro
|
$(WXDIR)/src/univ/files.lst: univ.t filelist.txt wxwin.pro
|
||||||
$(TMAKE) -t univ wxwin.pro -o $@
|
$(TMAKE) -t univ wxwin.pro -o $@
|
||||||
|
|
||||||
|
$(WXDIR)/src/x11/files.lst: x11.t filelist.txt wxwin.pro
|
||||||
|
$(TMAKE) -t x11 wxwin.pro -o $@
|
||||||
|
|
||||||
$(WXDIR)/src/wxBase.dsp: vc6base.t filelist.txt wxwin.pro
|
$(WXDIR)/src/wxBase.dsp: vc6base.t filelist.txt wxwin.pro
|
||||||
$(TMAKE) -t vc6base wxwin.pro -o $@
|
$(TMAKE) -t vc6base wxwin.pro -o $@
|
||||||
|
|
||||||
|
@@ -176,6 +176,7 @@ hash.cpp Common Base
|
|||||||
hashmap.cpp Common Base
|
hashmap.cpp Common Base
|
||||||
helpbase.cpp Common
|
helpbase.cpp Common
|
||||||
http.cpp Common Socket,Base
|
http.cpp Common Socket,Base
|
||||||
|
iconbndl.cpp Common
|
||||||
imagall.cpp Common
|
imagall.cpp Common
|
||||||
imagbmp.cpp Common
|
imagbmp.cpp Common
|
||||||
image.cpp Common
|
image.cpp Common
|
||||||
@@ -370,6 +371,7 @@ mimetype.cpp Unix Base,NotMac,NotMicro
|
|||||||
snglinst.cpp Unix Base
|
snglinst.cpp Unix Base
|
||||||
threadpsx.cpp Unix Base,NotMac
|
threadpsx.cpp Unix Base,NotMac
|
||||||
utilsunx.cpp Unix Base
|
utilsunx.cpp Unix Base
|
||||||
|
utilsx11.cpp Unix NotMac,NotMGL,NotMicro
|
||||||
|
|
||||||
bmpbuttn.cpp Univ
|
bmpbuttn.cpp Univ
|
||||||
button.cpp Univ
|
button.cpp Univ
|
||||||
@@ -845,6 +847,7 @@ helpbase.h WXH
|
|||||||
helphtml.h WXH
|
helphtml.h WXH
|
||||||
helpwin.h WXH
|
helpwin.h WXH
|
||||||
icon.h WXH
|
icon.h WXH
|
||||||
|
iconbndl.h WXH
|
||||||
image.h WXH
|
image.h WXH
|
||||||
imaggif.h WXH
|
imaggif.h WXH
|
||||||
imagiff.h WXH
|
imagiff.h WXH
|
||||||
@@ -1427,6 +1430,7 @@ execute.h UnixH
|
|||||||
fontutil.h UnixH
|
fontutil.h UnixH
|
||||||
gsockunx.h UnixH Base
|
gsockunx.h UnixH Base
|
||||||
mimetype.h UnixH Base
|
mimetype.h UnixH Base
|
||||||
|
utilsx11.h UnixH
|
||||||
|
|
||||||
file.h ProtoH Base
|
file.h ProtoH Base
|
||||||
ftp.h ProtoH Base
|
ftp.h ProtoH Base
|
||||||
|
@@ -161,7 +161,8 @@ public:
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// no icon
|
// no icon
|
||||||
void SetIcon( const wxIcon &icon ) { m_icon = icon; }
|
void SetIcon( const wxIcon &icon ) { m_icons = wxIconBundle( icon ); }
|
||||||
|
void SetIcons( const wxIconBundle &icons ) { m_icons = icons; }
|
||||||
|
|
||||||
// no title
|
// no title
|
||||||
void SetTitle( const wxString &title );
|
void SetTitle( const wxString &title );
|
||||||
|
@@ -54,6 +54,7 @@ public:
|
|||||||
virtual void Iconize(bool iconize = TRUE);
|
virtual void Iconize(bool iconize = TRUE);
|
||||||
virtual bool IsIconized() const;
|
virtual bool IsIconized() const;
|
||||||
virtual void SetIcon(const wxIcon& icon);
|
virtual void SetIcon(const wxIcon& icon);
|
||||||
|
virtual void SetIcons(const wxIconBundle& icons);
|
||||||
virtual void Restore();
|
virtual void Restore();
|
||||||
|
|
||||||
virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL);
|
virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL);
|
||||||
@@ -71,6 +72,9 @@ public:
|
|||||||
// from both DoSetSize() and DoSetClientSize()
|
// from both DoSetSize() and DoSetClientSize()
|
||||||
virtual void DoMoveWindow(int x, int y, int width, int height);
|
virtual void DoMoveWindow(int x, int y, int width, int height);
|
||||||
|
|
||||||
|
// set the icon for this window
|
||||||
|
void DoSetIcon( const wxIcon& icon );
|
||||||
|
|
||||||
// GTK callbacks
|
// GTK callbacks
|
||||||
virtual void GtkOnSize( int x, int y, int width, int height );
|
virtual void GtkOnSize( int x, int y, int width, int height );
|
||||||
virtual void OnInternalIdle();
|
virtual void OnInternalIdle();
|
||||||
|
@@ -161,7 +161,8 @@ public:
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// no icon
|
// no icon
|
||||||
void SetIcon( const wxIcon &icon ) { m_icon = icon; }
|
void SetIcon( const wxIcon &icon ) { m_icons = wxIconBundle( icon ); }
|
||||||
|
void SetIcons( const wxIconBundle &icons ) { m_icons = icons; }
|
||||||
|
|
||||||
// no title
|
// no title
|
||||||
void SetTitle( const wxString &title );
|
void SetTitle( const wxString &title );
|
||||||
|
@@ -54,6 +54,7 @@ public:
|
|||||||
virtual void Iconize(bool iconize = TRUE);
|
virtual void Iconize(bool iconize = TRUE);
|
||||||
virtual bool IsIconized() const;
|
virtual bool IsIconized() const;
|
||||||
virtual void SetIcon(const wxIcon& icon);
|
virtual void SetIcon(const wxIcon& icon);
|
||||||
|
virtual void SetIcons(const wxIconBundle& icons);
|
||||||
virtual void Restore();
|
virtual void Restore();
|
||||||
|
|
||||||
virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL);
|
virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL);
|
||||||
@@ -71,6 +72,9 @@ public:
|
|||||||
// from both DoSetSize() and DoSetClientSize()
|
// from both DoSetSize() and DoSetClientSize()
|
||||||
virtual void DoMoveWindow(int x, int y, int width, int height);
|
virtual void DoMoveWindow(int x, int y, int width, int height);
|
||||||
|
|
||||||
|
// set the icon for this window
|
||||||
|
void DoSetIcon( const wxIcon& icon );
|
||||||
|
|
||||||
// GTK callbacks
|
// GTK callbacks
|
||||||
virtual void GtkOnSize( int x, int y, int width, int height );
|
virtual void GtkOnSize( int x, int y, int width, int height );
|
||||||
virtual void OnInternalIdle();
|
virtual void OnInternalIdle();
|
||||||
|
73
include/wx/iconbndl.h
Normal file
73
include/wx/iconbndl.h
Normal file
@@ -0,0 +1,73 @@
|
|||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: wx/iconbndl.h
|
||||||
|
// Purpose: wxIconBundle
|
||||||
|
// Author: Mattia barbon
|
||||||
|
// Modified by:
|
||||||
|
// Created: 23.03.02
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) Mattia Barbon
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
///////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef _WX_ICONBNDL_H_
|
||||||
|
#define _WX_ICONBNDL_H_
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma interface "iconbndl.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "dynarray.h"
|
||||||
|
// for wxSize
|
||||||
|
#include "wx/gdicmn.h"
|
||||||
|
|
||||||
|
class WXDLLEXPORT wxIcon;
|
||||||
|
class WXDLLEXPORT wxString;
|
||||||
|
|
||||||
|
WX_DECLARE_EXPORTED_OBJARRAY( wxIcon, wxIconArray );
|
||||||
|
|
||||||
|
// this class can't load bitmaps of type wxBITMAP_TYPE_ICO_RESOURCE,
|
||||||
|
// if you need them, you have to load them manually and call
|
||||||
|
// wxIconCollection::AddIcon
|
||||||
|
class WXDLLEXPORT wxIconBundle
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
// default constructor
|
||||||
|
wxIconBundle() {}
|
||||||
|
// initializes the bundle with the icon(s) found in the file
|
||||||
|
wxIconBundle( const wxString& file, long type )
|
||||||
|
{ AddIcon( file, type ); }
|
||||||
|
// initializes the bundle with a single icon
|
||||||
|
wxIconBundle( const wxIcon& icon )
|
||||||
|
{ AddIcon( icon ); }
|
||||||
|
|
||||||
|
const wxIconBundle& operator =( const wxIconBundle& ic );
|
||||||
|
wxIconBundle( const wxIconBundle& ic )
|
||||||
|
{ *this = ic; }
|
||||||
|
|
||||||
|
~wxIconBundle() { DeleteIcons(); }
|
||||||
|
|
||||||
|
// adds all the icons contained in the file to the collection,
|
||||||
|
// if the collection already contains icons with the same
|
||||||
|
// width and height, they are replaced
|
||||||
|
void AddIcon( const wxString& file, long type );
|
||||||
|
// adds the icon to the collection, if the collection already
|
||||||
|
// contains an icon with the same width and height, it is
|
||||||
|
// replaced
|
||||||
|
void AddIcon( const wxIcon& icon );
|
||||||
|
|
||||||
|
// returns the icon with the given size; if no such icon exists,
|
||||||
|
// returns the icon with size wxSYS_ICON_[XY]; if no such icon exists,
|
||||||
|
// returns the first icon in the bundle
|
||||||
|
const wxIcon& GetIcon( const wxSize& size ) const;
|
||||||
|
// equivalent to GetIcon( wxSize( size, size ) )
|
||||||
|
const wxIcon& GetIcon( wxCoord size = -1 ) const
|
||||||
|
{ return GetIcon( wxSize( size, size ) ); }
|
||||||
|
private:
|
||||||
|
// delete all icons
|
||||||
|
void DeleteIcons();
|
||||||
|
public:
|
||||||
|
wxIconArray m_icons;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// _WX_ICONBNDL_H_
|
@@ -55,6 +55,7 @@ public:
|
|||||||
virtual void Iconize(bool iconize = TRUE);
|
virtual void Iconize(bool iconize = TRUE);
|
||||||
virtual bool IsIconized() const;
|
virtual bool IsIconized() const;
|
||||||
virtual void SetIcon(const wxIcon& icon);
|
virtual void SetIcon(const wxIcon& icon);
|
||||||
|
virtual void SetIcons(const wxIconBundle& icons) { SetIcon( icons.GetIcon( -1 ) ); }
|
||||||
virtual void Restore();
|
virtual void Restore();
|
||||||
|
|
||||||
virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL) { return FALSE; }
|
virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL) { return FALSE; }
|
||||||
|
@@ -54,6 +54,7 @@ public:
|
|||||||
|
|
||||||
// Set icon
|
// Set icon
|
||||||
virtual void SetIcon(const wxIcon& icon);
|
virtual void SetIcon(const wxIcon& icon);
|
||||||
|
virtual void SetIcons(const wxIconBundle& icons);
|
||||||
|
|
||||||
#if wxUSE_STATUSBAR
|
#if wxUSE_STATUSBAR
|
||||||
virtual void PositionStatusBar();
|
virtual void PositionStatusBar();
|
||||||
@@ -108,6 +109,9 @@ protected:
|
|||||||
// common part of all ctors
|
// common part of all ctors
|
||||||
void Init();
|
void Init();
|
||||||
|
|
||||||
|
// set a single icon for the frame
|
||||||
|
void DoSetIcon( const wxIcon& icon );
|
||||||
|
|
||||||
//// Motif-specific
|
//// Motif-specific
|
||||||
WXWidget m_frameShell;
|
WXWidget m_frameShell;
|
||||||
WXWidget m_frameWidget;
|
WXWidget m_frameWidget;
|
||||||
|
@@ -152,6 +152,7 @@ public:
|
|||||||
|
|
||||||
// Set icon
|
// Set icon
|
||||||
virtual void SetIcon(const wxIcon& icon);
|
virtual void SetIcon(const wxIcon& icon);
|
||||||
|
virtual void SetIcons(const wxIconBundle& icons );
|
||||||
|
|
||||||
// Override wxFrame operations
|
// Override wxFrame operations
|
||||||
void CaptureMouse();
|
void CaptureMouse();
|
||||||
|
@@ -55,6 +55,7 @@ public:
|
|||||||
virtual void Iconize(bool iconize = TRUE);
|
virtual void Iconize(bool iconize = TRUE);
|
||||||
virtual bool IsIconized() const;
|
virtual bool IsIconized() const;
|
||||||
virtual void SetIcon(const wxIcon& icon);
|
virtual void SetIcon(const wxIcon& icon);
|
||||||
|
virtual void SetIcons(const wxIconBundle& icons );
|
||||||
virtual void Restore();
|
virtual void Restore();
|
||||||
|
|
||||||
virtual bool Show(bool show = TRUE);
|
virtual bool Show(bool show = TRUE);
|
||||||
|
@@ -67,6 +67,8 @@ public:
|
|||||||
virtual void Restore(void);
|
virtual void Restore(void);
|
||||||
virtual void SendSizeEvent(void);
|
virtual void SendSizeEvent(void);
|
||||||
virtual void SetIcon(const wxIcon& rIcon);
|
virtual void SetIcon(const wxIcon& rIcon);
|
||||||
|
inline virtual void SetIcons(const wxIconBundle& icons) { SetIcon( icons.GetIcon( -1 ) ); }
|
||||||
|
|
||||||
virtual bool Show(bool bShow = TRUE);
|
virtual bool Show(bool bShow = TRUE);
|
||||||
virtual bool ShowFullScreen( bool bShow
|
virtual bool ShowFullScreen( bool bShow
|
||||||
,long lStyle = wxFULLSCREEN_ALL
|
,long lStyle = wxFULLSCREEN_ALL
|
||||||
|
@@ -23,7 +23,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "wx/window.h"
|
#include "wx/window.h"
|
||||||
#include "wx/icon.h"
|
#include "wx/iconbndl.h"
|
||||||
|
|
||||||
// the default names for various classs
|
// the default names for various classs
|
||||||
WXDLLEXPORT_DATA(extern const wxChar*) wxFrameNameStr;
|
WXDLLEXPORT_DATA(extern const wxChar*) wxFrameNameStr;
|
||||||
@@ -83,10 +83,16 @@ public:
|
|||||||
virtual bool IsIconized() const = 0;
|
virtual bool IsIconized() const = 0;
|
||||||
|
|
||||||
// get the frame icon
|
// get the frame icon
|
||||||
const wxIcon& GetIcon() const { return m_icon; }
|
const wxIcon& GetIcon() const { return m_icons.GetIcon( -1 ); }
|
||||||
|
|
||||||
|
// get the frame icons
|
||||||
|
const wxIconBundle& GetIcons() const { return m_icons; }
|
||||||
|
|
||||||
// set the frame icon
|
// set the frame icon
|
||||||
virtual void SetIcon(const wxIcon& icon) { m_icon = icon; }
|
virtual void SetIcon(const wxIcon& icon) { m_icons = wxIconBundle( icon ); }
|
||||||
|
|
||||||
|
// set the frame icons
|
||||||
|
virtual void SetIcons(const wxIconBundle& icons ) { m_icons = icons; }
|
||||||
|
|
||||||
// maximize the window to cover entire screen
|
// maximize the window to cover entire screen
|
||||||
virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL) = 0;
|
virtual bool ShowFullScreen(bool show, long style = wxFULLSCREEN_ALL) = 0;
|
||||||
@@ -133,7 +139,7 @@ protected:
|
|||||||
bool SendIconizeEvent(bool iconized = TRUE);
|
bool SendIconizeEvent(bool iconized = TRUE);
|
||||||
|
|
||||||
// the frame icon
|
// the frame icon
|
||||||
wxIcon m_icon;
|
wxIconBundle m_icons;
|
||||||
|
|
||||||
// test whether this window makes part of the frame
|
// test whether this window makes part of the frame
|
||||||
// (menubar, toolbar and statusbar are excluded from automatic layout)
|
// (menubar, toolbar and statusbar are excluded from automatic layout)
|
||||||
|
@@ -123,7 +123,8 @@ public:
|
|||||||
virtual wxPoint GetClientAreaOrigin() const;
|
virtual wxPoint GetClientAreaOrigin() const;
|
||||||
virtual void DoGetClientSize(int *width, int *height) const;
|
virtual void DoGetClientSize(int *width, int *height) const;
|
||||||
virtual void DoSetClientSize(int width, int height);
|
virtual void DoSetClientSize(int width, int height);
|
||||||
virtual void SetIcon(const wxIcon& icon);
|
virtual void SetIcon(const wxIcon& icon) { SetIcons( wxIconBundle( icon ) ); }
|
||||||
|
virtual void SetIcons(const wxIconBundle& icons);
|
||||||
|
|
||||||
// implementation from now on
|
// implementation from now on
|
||||||
// --------------------------
|
// --------------------------
|
||||||
|
33
include/wx/unix/utilsx11.h
Normal file
33
include/wx/unix/utilsx11.h
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: wx/unix/utilsx11.h
|
||||||
|
// Purpose: Miscellaneous X11 functions
|
||||||
|
// Author: Mattia Barbon
|
||||||
|
// Modified by:
|
||||||
|
// Created: 25.03.02
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) wxWindows team
|
||||||
|
// Licence: wxWindows license
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifndef _WX_UNIX_UTILSX11_H_
|
||||||
|
#define _WX_UNIX_UTILSX11_H_
|
||||||
|
|
||||||
|
#include "wx/defs.h"
|
||||||
|
|
||||||
|
#if defined(__WXMOTIF__) || defined(__WXGTK__) || defined(__WXX11__)
|
||||||
|
|
||||||
|
#if defined(__WXGTK__)
|
||||||
|
typedef void WXDisplay;
|
||||||
|
typedef void* WXWindow;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
class wxIconBundle;
|
||||||
|
|
||||||
|
void wxSetIconsX11( WXDisplay* display, WXWindow window,
|
||||||
|
const wxIconBundle& ib );
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// __WXMOTIF__, __WXGTK__, __WXX11__
|
||||||
|
|
||||||
|
#endif
|
||||||
|
// _WX_UNIX_UTILSX11_H_
|
@@ -65,7 +65,8 @@ enum wxFSIconType
|
|||||||
wxFS_VOL_ICO_MAX
|
wxFS_VOL_ICO_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
WX_DECLARE_EXPORTED_OBJARRAY(wxIcon, wxIconArray);
|
// already in wx/iconbndl.h
|
||||||
|
// WX_DECLARE_EXPORTED_OBJARRAY(wxIcon, wxIconArray);
|
||||||
|
|
||||||
#endif // wxUSE_GUI
|
#endif // wxUSE_GUI
|
||||||
|
|
||||||
|
@@ -54,7 +54,8 @@ public:
|
|||||||
virtual bool IsMaximized() const;
|
virtual bool IsMaximized() const;
|
||||||
virtual void Iconize(bool iconize = TRUE);
|
virtual void Iconize(bool iconize = TRUE);
|
||||||
virtual bool IsIconized() const;
|
virtual bool IsIconized() const;
|
||||||
virtual void SetIcon(const wxIcon& icon);
|
virtual void SetIcon(const wxIcon& icon) { SetIcons( wxIconBundle( icon ) ); }
|
||||||
|
virtual void SetIcons(const wxIconBundle& icons);
|
||||||
virtual void Restore();
|
virtual void Restore();
|
||||||
|
|
||||||
virtual bool Show( bool show = TRUE );
|
virtual bool Show( bool show = TRUE );
|
||||||
@@ -72,6 +73,9 @@ protected:
|
|||||||
// common part of all ctors
|
// common part of all ctors
|
||||||
void Init();
|
void Init();
|
||||||
|
|
||||||
|
// set the icon for the window
|
||||||
|
void DoSetIcon( const wxIcon& icon );
|
||||||
|
|
||||||
// For implementation purposes - sometimes decorations make the
|
// For implementation purposes - sometimes decorations make the
|
||||||
// client area smaller
|
// client area smaller
|
||||||
virtual wxPoint GetClientAreaOrigin() const;
|
virtual wxPoint GetClientAreaOrigin() const;
|
||||||
|
114
src/common/iconbndl.cpp
Normal file
114
src/common/iconbndl.cpp
Normal file
@@ -0,0 +1,114 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: iconbndl.cpp
|
||||||
|
// Purpose: wxIconBundle
|
||||||
|
// Author: Mattia Barbon
|
||||||
|
// Created: 23.03.2002
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) Mattia barbon
|
||||||
|
// Licence: wxWindows licence
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#ifdef __GNUG__
|
||||||
|
#pragma implementation "iconbndl.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// For compilers that support precompilation, includes "wx.h".
|
||||||
|
#include "wx/wxprec.h"
|
||||||
|
|
||||||
|
#ifdef __BORLANDC__
|
||||||
|
#pragma hdrstop
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef WX_PRECOMP
|
||||||
|
#include "wx/settings.h"
|
||||||
|
#include "wx/image.h"
|
||||||
|
#include "wx/icon.h"
|
||||||
|
#include "wx/log.h"
|
||||||
|
#include "wx/intl.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "wx/iconbndl.h"
|
||||||
|
#include "wx/arrimpl.cpp"
|
||||||
|
|
||||||
|
WX_DEFINE_OBJARRAY(wxIconArray)
|
||||||
|
|
||||||
|
const wxIconBundle& wxIconBundle::operator =( const wxIconBundle& ic )
|
||||||
|
{
|
||||||
|
if( this == &ic ) return *this;
|
||||||
|
|
||||||
|
size_t i, max = ic.m_icons.GetCount();
|
||||||
|
|
||||||
|
DeleteIcons();
|
||||||
|
for( i = 0; i < max; ++i )
|
||||||
|
m_icons.Add( ic.m_icons[i] );
|
||||||
|
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxIconBundle::DeleteIcons()
|
||||||
|
{
|
||||||
|
m_icons.Empty();
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxIconBundle::AddIcon( const wxString& file, long type )
|
||||||
|
{
|
||||||
|
size_t count = wxImage::GetImageCount( file, type );
|
||||||
|
size_t i;
|
||||||
|
wxImage image;
|
||||||
|
wxIcon tmp;
|
||||||
|
|
||||||
|
for( i = 0; i < count; ++i )
|
||||||
|
{
|
||||||
|
if( !image.LoadFile( file, type, i ) )
|
||||||
|
{
|
||||||
|
wxLogError( _("Failed to load image %d from file '%s'."),
|
||||||
|
i, file.c_str() );
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
tmp.CopyFromBitmap( wxBitmap( image ) );
|
||||||
|
AddIcon( tmp );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const wxIcon& wxIconBundle::GetIcon( const wxSize& size ) const
|
||||||
|
{
|
||||||
|
size_t i, max = m_icons.GetCount();
|
||||||
|
wxCoord sysX = wxSystemSettings::GetMetric( wxSYS_ICON_X ),
|
||||||
|
sysY = wxSystemSettings::GetMetric( wxSYS_ICON_Y );
|
||||||
|
wxIcon* sysIcon = 0;
|
||||||
|
|
||||||
|
for( i = 0; i < max; ++i )
|
||||||
|
{
|
||||||
|
wxCoord sx = m_icons[i].GetWidth(), sy = m_icons[i].GetHeight();
|
||||||
|
// requested size
|
||||||
|
if( sx == size.x && sy == size.y )
|
||||||
|
return m_icons[i];
|
||||||
|
// keep track if there is a system-size icon
|
||||||
|
if( sx == sysX && sy == sysY )
|
||||||
|
sysIcon = &m_icons[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
// return the system-sized icon if we've got one
|
||||||
|
if( sysIcon ) return *sysIcon;
|
||||||
|
// return the first icon, if we have one
|
||||||
|
return max > 0 ? m_icons[0] : wxNullIcon;
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxIconBundle::AddIcon( const wxIcon& icon )
|
||||||
|
{
|
||||||
|
size_t i, max = m_icons.GetCount();
|
||||||
|
|
||||||
|
for( i = 0; i < max; ++i )
|
||||||
|
{
|
||||||
|
wxIcon& tmp = m_icons[i];
|
||||||
|
if( tmp.GetWidth() == icon.GetWidth() &&
|
||||||
|
tmp.GetHeight() == icon.GetHeight() )
|
||||||
|
{
|
||||||
|
tmp = icon;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
m_icons.Add( icon );
|
||||||
|
}
|
@@ -104,6 +104,7 @@ ALL_SOURCES = \
|
|||||||
common/hashmap.cpp \
|
common/hashmap.cpp \
|
||||||
common/helpbase.cpp \
|
common/helpbase.cpp \
|
||||||
common/http.cpp \
|
common/http.cpp \
|
||||||
|
common/iconbndl.cpp \
|
||||||
common/imagall.cpp \
|
common/imagall.cpp \
|
||||||
common/imagbmp.cpp \
|
common/imagbmp.cpp \
|
||||||
common/image.cpp \
|
common/image.cpp \
|
||||||
@@ -244,6 +245,7 @@ ALL_SOURCES = \
|
|||||||
unix/snglinst.cpp \
|
unix/snglinst.cpp \
|
||||||
unix/threadpsx.cpp \
|
unix/threadpsx.cpp \
|
||||||
unix/utilsunx.cpp \
|
unix/utilsunx.cpp \
|
||||||
|
unix/utilsx11.cpp \
|
||||||
html/helpctrl.cpp \
|
html/helpctrl.cpp \
|
||||||
html/helpdata.cpp \
|
html/helpdata.cpp \
|
||||||
html/helpfrm.cpp \
|
html/helpfrm.cpp \
|
||||||
@@ -367,6 +369,7 @@ ALL_HEADERS = \
|
|||||||
helphtml.h \
|
helphtml.h \
|
||||||
helpwin.h \
|
helpwin.h \
|
||||||
icon.h \
|
icon.h \
|
||||||
|
iconbndl.h \
|
||||||
imagbmp.h \
|
imagbmp.h \
|
||||||
image.h \
|
image.h \
|
||||||
imaggif.h \
|
imaggif.h \
|
||||||
@@ -604,6 +607,7 @@ ALL_HEADERS = \
|
|||||||
unix/fontutil.h \
|
unix/fontutil.h \
|
||||||
unix/gsockunx.h \
|
unix/gsockunx.h \
|
||||||
unix/mimetype.h \
|
unix/mimetype.h \
|
||||||
|
unix/utilsx11.h \
|
||||||
html/forcelnk.h \
|
html/forcelnk.h \
|
||||||
html/helpctrl.h \
|
html/helpctrl.h \
|
||||||
html/helpdata.h \
|
html/helpdata.h \
|
||||||
@@ -680,6 +684,7 @@ COMMONOBJS = \
|
|||||||
hashmap.o \
|
hashmap.o \
|
||||||
helpbase.o \
|
helpbase.o \
|
||||||
http.o \
|
http.o \
|
||||||
|
iconbndl.o \
|
||||||
imagall.o \
|
imagall.o \
|
||||||
imagbmp.o \
|
imagbmp.o \
|
||||||
image.o \
|
image.o \
|
||||||
@@ -947,7 +952,8 @@ UNIXOBJS = \
|
|||||||
mimetype.o \
|
mimetype.o \
|
||||||
snglinst.o \
|
snglinst.o \
|
||||||
threadpsx.o \
|
threadpsx.o \
|
||||||
utilsunx.o
|
utilsunx.o \
|
||||||
|
utilsx11.o
|
||||||
|
|
||||||
HTMLOBJS = \
|
HTMLOBJS = \
|
||||||
helpctrl.o \
|
helpctrl.o \
|
||||||
|
@@ -349,7 +349,9 @@ int wxSystemSettingsNative::GetMetric( wxSystemMetric index )
|
|||||||
// VZ: is there any way to get the cursor size with GDK?
|
// VZ: is there any way to get the cursor size with GDK?
|
||||||
case wxSYS_CURSOR_X: return 16;
|
case wxSYS_CURSOR_X: return 16;
|
||||||
case wxSYS_CURSOR_Y: return 16;
|
case wxSYS_CURSOR_Y: return 16;
|
||||||
|
// MBN: ditto for icons
|
||||||
|
case wxSYS_ICON_X: return 32;
|
||||||
|
case wxSYS_ICON_Y: return 32;
|
||||||
default:
|
default:
|
||||||
wxFAIL_MSG( wxT("wxSystemSettings::GetMetric not fully implemented") );
|
wxFAIL_MSG( wxT("wxSystemSettings::GetMetric not fully implemented") );
|
||||||
return 0;
|
return 0;
|
||||||
|
@@ -38,6 +38,8 @@
|
|||||||
|
|
||||||
#include "wx/gtk/win_gtk.h"
|
#include "wx/gtk/win_gtk.h"
|
||||||
|
|
||||||
|
#include "wx/unix/utilsx11.h"
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// idle system
|
// idle system
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -814,13 +816,9 @@ void wxTopLevelWindowGTK::SetTitle( const wxString &title )
|
|||||||
gtk_window_set_title( GTK_WINDOW(m_widget), title.mbc_str() );
|
gtk_window_set_title( GTK_WINDOW(m_widget), title.mbc_str() );
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxTopLevelWindowGTK::SetIcon( const wxIcon &icon )
|
void wxTopLevelWindowGTK::DoSetIcon( const wxIcon &icon )
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( (m_widget != NULL), wxT("invalid frame") );
|
if ( !icon.Ok() )
|
||||||
|
|
||||||
wxTopLevelWindowBase::SetIcon(icon);
|
|
||||||
|
|
||||||
if ( !m_icon.Ok() )
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!m_widget->window)
|
if (!m_widget->window)
|
||||||
@@ -833,6 +831,24 @@ void wxTopLevelWindowGTK::SetIcon( const wxIcon &icon )
|
|||||||
gdk_window_set_icon( m_widget->window, (GdkWindow *) NULL, icon.GetPixmap(), bm );
|
gdk_window_set_icon( m_widget->window, (GdkWindow *) NULL, icon.GetPixmap(), bm );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxTopLevelWindowGTK::SetIcon( const wxIcon &icon )
|
||||||
|
{
|
||||||
|
SetIcons( wxIconBundle( icon ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxTopLevelWindowGTK::SetIcons( const wxIconBundle &icons )
|
||||||
|
{
|
||||||
|
wxASSERT_MSG( (m_widget != NULL), wxT("invalid frame") );
|
||||||
|
GdkWindow* window = m_widget->window;
|
||||||
|
wxCHECK_RET( window, _T("window not created yet - can't set icon") );
|
||||||
|
|
||||||
|
wxTopLevelWindowBase::SetIcons( icons );
|
||||||
|
|
||||||
|
DoSetIcon( icons.GetIcon( -1 ) );
|
||||||
|
wxSetIconsX11( (WXDisplay*)GDK_WINDOW_XDISPLAY( window ),
|
||||||
|
(WXWindow)GDK_WINDOW_XWINDOW( window ), icons );
|
||||||
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// frame state: maximized/iconized/normal
|
// frame state: maximized/iconized/normal
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -104,6 +104,7 @@ ALL_SOURCES = \
|
|||||||
common/hashmap.cpp \
|
common/hashmap.cpp \
|
||||||
common/helpbase.cpp \
|
common/helpbase.cpp \
|
||||||
common/http.cpp \
|
common/http.cpp \
|
||||||
|
common/iconbndl.cpp \
|
||||||
common/imagall.cpp \
|
common/imagall.cpp \
|
||||||
common/imagbmp.cpp \
|
common/imagbmp.cpp \
|
||||||
common/image.cpp \
|
common/image.cpp \
|
||||||
@@ -244,6 +245,7 @@ ALL_SOURCES = \
|
|||||||
unix/snglinst.cpp \
|
unix/snglinst.cpp \
|
||||||
unix/threadpsx.cpp \
|
unix/threadpsx.cpp \
|
||||||
unix/utilsunx.cpp \
|
unix/utilsunx.cpp \
|
||||||
|
unix/utilsx11.cpp \
|
||||||
html/helpctrl.cpp \
|
html/helpctrl.cpp \
|
||||||
html/helpdata.cpp \
|
html/helpdata.cpp \
|
||||||
html/helpfrm.cpp \
|
html/helpfrm.cpp \
|
||||||
@@ -367,6 +369,7 @@ ALL_HEADERS = \
|
|||||||
helphtml.h \
|
helphtml.h \
|
||||||
helpwin.h \
|
helpwin.h \
|
||||||
icon.h \
|
icon.h \
|
||||||
|
iconbndl.h \
|
||||||
imagbmp.h \
|
imagbmp.h \
|
||||||
image.h \
|
image.h \
|
||||||
imaggif.h \
|
imaggif.h \
|
||||||
@@ -604,6 +607,7 @@ ALL_HEADERS = \
|
|||||||
unix/fontutil.h \
|
unix/fontutil.h \
|
||||||
unix/gsockunx.h \
|
unix/gsockunx.h \
|
||||||
unix/mimetype.h \
|
unix/mimetype.h \
|
||||||
|
unix/utilsx11.h \
|
||||||
html/forcelnk.h \
|
html/forcelnk.h \
|
||||||
html/helpctrl.h \
|
html/helpctrl.h \
|
||||||
html/helpdata.h \
|
html/helpdata.h \
|
||||||
@@ -680,6 +684,7 @@ COMMONOBJS = \
|
|||||||
hashmap.o \
|
hashmap.o \
|
||||||
helpbase.o \
|
helpbase.o \
|
||||||
http.o \
|
http.o \
|
||||||
|
iconbndl.o \
|
||||||
imagall.o \
|
imagall.o \
|
||||||
imagbmp.o \
|
imagbmp.o \
|
||||||
image.o \
|
image.o \
|
||||||
@@ -947,7 +952,8 @@ UNIXOBJS = \
|
|||||||
mimetype.o \
|
mimetype.o \
|
||||||
snglinst.o \
|
snglinst.o \
|
||||||
threadpsx.o \
|
threadpsx.o \
|
||||||
utilsunx.o
|
utilsunx.o \
|
||||||
|
utilsx11.o
|
||||||
|
|
||||||
HTMLOBJS = \
|
HTMLOBJS = \
|
||||||
helpctrl.o \
|
helpctrl.o \
|
||||||
|
@@ -349,7 +349,9 @@ int wxSystemSettingsNative::GetMetric( wxSystemMetric index )
|
|||||||
// VZ: is there any way to get the cursor size with GDK?
|
// VZ: is there any way to get the cursor size with GDK?
|
||||||
case wxSYS_CURSOR_X: return 16;
|
case wxSYS_CURSOR_X: return 16;
|
||||||
case wxSYS_CURSOR_Y: return 16;
|
case wxSYS_CURSOR_Y: return 16;
|
||||||
|
// MBN: ditto for icons
|
||||||
|
case wxSYS_ICON_X: return 32;
|
||||||
|
case wxSYS_ICON_Y: return 32;
|
||||||
default:
|
default:
|
||||||
wxFAIL_MSG( wxT("wxSystemSettings::GetMetric not fully implemented") );
|
wxFAIL_MSG( wxT("wxSystemSettings::GetMetric not fully implemented") );
|
||||||
return 0;
|
return 0;
|
||||||
|
@@ -38,6 +38,8 @@
|
|||||||
|
|
||||||
#include "wx/gtk/win_gtk.h"
|
#include "wx/gtk/win_gtk.h"
|
||||||
|
|
||||||
|
#include "wx/unix/utilsx11.h"
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// idle system
|
// idle system
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -814,13 +816,9 @@ void wxTopLevelWindowGTK::SetTitle( const wxString &title )
|
|||||||
gtk_window_set_title( GTK_WINDOW(m_widget), title.mbc_str() );
|
gtk_window_set_title( GTK_WINDOW(m_widget), title.mbc_str() );
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxTopLevelWindowGTK::SetIcon( const wxIcon &icon )
|
void wxTopLevelWindowGTK::DoSetIcon( const wxIcon &icon )
|
||||||
{
|
{
|
||||||
wxASSERT_MSG( (m_widget != NULL), wxT("invalid frame") );
|
if ( !icon.Ok() )
|
||||||
|
|
||||||
wxTopLevelWindowBase::SetIcon(icon);
|
|
||||||
|
|
||||||
if ( !m_icon.Ok() )
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!m_widget->window)
|
if (!m_widget->window)
|
||||||
@@ -833,6 +831,24 @@ void wxTopLevelWindowGTK::SetIcon( const wxIcon &icon )
|
|||||||
gdk_window_set_icon( m_widget->window, (GdkWindow *) NULL, icon.GetPixmap(), bm );
|
gdk_window_set_icon( m_widget->window, (GdkWindow *) NULL, icon.GetPixmap(), bm );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxTopLevelWindowGTK::SetIcon( const wxIcon &icon )
|
||||||
|
{
|
||||||
|
SetIcons( wxIconBundle( icon ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxTopLevelWindowGTK::SetIcons( const wxIconBundle &icons )
|
||||||
|
{
|
||||||
|
wxASSERT_MSG( (m_widget != NULL), wxT("invalid frame") );
|
||||||
|
GdkWindow* window = m_widget->window;
|
||||||
|
wxCHECK_RET( window, _T("window not created yet - can't set icon") );
|
||||||
|
|
||||||
|
wxTopLevelWindowBase::SetIcons( icons );
|
||||||
|
|
||||||
|
DoSetIcon( icons.GetIcon( -1 ) );
|
||||||
|
wxSetIconsX11( (WXDisplay*)GDK_WINDOW_XDISPLAY( window ),
|
||||||
|
(WXWindow)GDK_WINDOW_XWINDOW( window ), icons );
|
||||||
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// frame state: maximized/iconized/normal
|
// frame state: maximized/iconized/normal
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -101,6 +101,7 @@ ALL_SOURCES = \
|
|||||||
common/hashmap.cpp \
|
common/hashmap.cpp \
|
||||||
common/helpbase.cpp \
|
common/helpbase.cpp \
|
||||||
common/http.cpp \
|
common/http.cpp \
|
||||||
|
common/iconbndl.cpp \
|
||||||
common/imagall.cpp \
|
common/imagall.cpp \
|
||||||
common/imagbmp.cpp \
|
common/imagbmp.cpp \
|
||||||
common/image.cpp \
|
common/image.cpp \
|
||||||
@@ -374,6 +375,7 @@ ALL_HEADERS = \
|
|||||||
helphtml.h \
|
helphtml.h \
|
||||||
helpwin.h \
|
helpwin.h \
|
||||||
icon.h \
|
icon.h \
|
||||||
|
iconbndl.h \
|
||||||
imagbmp.h \
|
imagbmp.h \
|
||||||
image.h \
|
image.h \
|
||||||
imaggif.h \
|
imaggif.h \
|
||||||
@@ -631,6 +633,7 @@ ALL_HEADERS = \
|
|||||||
unix/fontutil.h \
|
unix/fontutil.h \
|
||||||
unix/gsockunx.h \
|
unix/gsockunx.h \
|
||||||
unix/mimetype.h \
|
unix/mimetype.h \
|
||||||
|
unix/utilsx11.h \
|
||||||
html/forcelnk.h \
|
html/forcelnk.h \
|
||||||
html/helpctrl.h \
|
html/helpctrl.h \
|
||||||
html/helpdata.h \
|
html/helpdata.h \
|
||||||
@@ -707,6 +710,7 @@ COMMONOBJS = \
|
|||||||
hashmap.o \
|
hashmap.o \
|
||||||
helpbase.o \
|
helpbase.o \
|
||||||
http.o \
|
http.o \
|
||||||
|
iconbndl.o \
|
||||||
imagall.o \
|
imagall.o \
|
||||||
imagbmp.o \
|
imagbmp.o \
|
||||||
image.o \
|
image.o \
|
||||||
|
@@ -101,6 +101,7 @@ ALL_SOURCES = \
|
|||||||
common/hashmap.cpp \
|
common/hashmap.cpp \
|
||||||
common/helpbase.cpp \
|
common/helpbase.cpp \
|
||||||
common/http.cpp \
|
common/http.cpp \
|
||||||
|
common/iconbndl.cpp \
|
||||||
common/imagall.cpp \
|
common/imagall.cpp \
|
||||||
common/imagbmp.cpp \
|
common/imagbmp.cpp \
|
||||||
common/image.cpp \
|
common/image.cpp \
|
||||||
@@ -374,6 +375,7 @@ ALL_HEADERS = \
|
|||||||
helphtml.h \
|
helphtml.h \
|
||||||
helpwin.h \
|
helpwin.h \
|
||||||
icon.h \
|
icon.h \
|
||||||
|
iconbndl.h \
|
||||||
imagbmp.h \
|
imagbmp.h \
|
||||||
image.h \
|
image.h \
|
||||||
imaggif.h \
|
imaggif.h \
|
||||||
@@ -631,6 +633,7 @@ ALL_HEADERS = \
|
|||||||
unix/fontutil.h \
|
unix/fontutil.h \
|
||||||
unix/gsockunx.h \
|
unix/gsockunx.h \
|
||||||
unix/mimetype.h \
|
unix/mimetype.h \
|
||||||
|
unix/utilsx11.h \
|
||||||
html/forcelnk.h \
|
html/forcelnk.h \
|
||||||
html/helpctrl.h \
|
html/helpctrl.h \
|
||||||
html/helpdata.h \
|
html/helpdata.h \
|
||||||
@@ -707,6 +710,7 @@ COMMONOBJS = \
|
|||||||
hashmap.o \
|
hashmap.o \
|
||||||
helpbase.o \
|
helpbase.o \
|
||||||
http.o \
|
http.o \
|
||||||
|
iconbndl.o \
|
||||||
imagall.o \
|
imagall.o \
|
||||||
imagbmp.o \
|
imagbmp.o \
|
||||||
image.o \
|
image.o \
|
||||||
|
@@ -41,7 +41,7 @@ wxUSE_GUI=1
|
|||||||
!if "$(wxUSE_GUI)" == "1"
|
!if "$(wxUSE_GUI)" == "1"
|
||||||
|
|
||||||
#!if "$(WXUSINGDLL)" == "1"
|
#!if "$(WXUSINGDLL)" == "1"
|
||||||
#DUMMYOBJ=
|
DUMMYOBJ=
|
||||||
#!endif
|
#!endif
|
||||||
|
|
||||||
$(PROGRAM).exe: $(WXLIB) $(OBJECTS) $(PROGRAM).res
|
$(PROGRAM).exe: $(WXLIB) $(OBJECTS) $(PROGRAM).res
|
||||||
|
@@ -104,6 +104,7 @@ ALL_SOURCES = \
|
|||||||
common/hashmap.cpp \
|
common/hashmap.cpp \
|
||||||
common/helpbase.cpp \
|
common/helpbase.cpp \
|
||||||
common/http.cpp \
|
common/http.cpp \
|
||||||
|
common/iconbndl.cpp \
|
||||||
common/imagall.cpp \
|
common/imagall.cpp \
|
||||||
common/imagbmp.cpp \
|
common/imagbmp.cpp \
|
||||||
common/image.cpp \
|
common/image.cpp \
|
||||||
@@ -329,6 +330,7 @@ ALL_HEADERS = \
|
|||||||
helphtml.h \
|
helphtml.h \
|
||||||
helpwin.h \
|
helpwin.h \
|
||||||
icon.h \
|
icon.h \
|
||||||
|
iconbndl.h \
|
||||||
imagbmp.h \
|
imagbmp.h \
|
||||||
image.h \
|
image.h \
|
||||||
imaggif.h \
|
imaggif.h \
|
||||||
@@ -504,6 +506,7 @@ ALL_HEADERS = \
|
|||||||
unix/fontutil.h \
|
unix/fontutil.h \
|
||||||
unix/gsockunx.h \
|
unix/gsockunx.h \
|
||||||
unix/mimetype.h \
|
unix/mimetype.h \
|
||||||
|
unix/utilsx11.h \
|
||||||
html/forcelnk.h \
|
html/forcelnk.h \
|
||||||
html/helpctrl.h \
|
html/helpctrl.h \
|
||||||
html/helpdata.h \
|
html/helpdata.h \
|
||||||
@@ -581,6 +584,7 @@ COMMONOBJS = \
|
|||||||
hashmap.o \
|
hashmap.o \
|
||||||
helpbase.o \
|
helpbase.o \
|
||||||
http.o \
|
http.o \
|
||||||
|
iconbndl.o \
|
||||||
imagall.o \
|
imagall.o \
|
||||||
imagbmp.o \
|
imagbmp.o \
|
||||||
image.o \
|
image.o \
|
||||||
|
@@ -101,6 +101,7 @@ ALL_SOURCES = \
|
|||||||
common/hashmap.cpp \
|
common/hashmap.cpp \
|
||||||
common/helpbase.cpp \
|
common/helpbase.cpp \
|
||||||
common/http.cpp \
|
common/http.cpp \
|
||||||
|
common/iconbndl.cpp \
|
||||||
common/imagall.cpp \
|
common/imagall.cpp \
|
||||||
common/imagbmp.cpp \
|
common/imagbmp.cpp \
|
||||||
common/image.cpp \
|
common/image.cpp \
|
||||||
@@ -329,6 +330,7 @@ ALL_HEADERS = \
|
|||||||
helphtml.h \
|
helphtml.h \
|
||||||
helpwin.h \
|
helpwin.h \
|
||||||
icon.h \
|
icon.h \
|
||||||
|
iconbndl.h \
|
||||||
imagbmp.h \
|
imagbmp.h \
|
||||||
image.h \
|
image.h \
|
||||||
imaggif.h \
|
imaggif.h \
|
||||||
@@ -598,6 +600,7 @@ ALL_HEADERS = \
|
|||||||
unix/fontutil.h \
|
unix/fontutil.h \
|
||||||
unix/gsockunx.h \
|
unix/gsockunx.h \
|
||||||
unix/mimetype.h \
|
unix/mimetype.h \
|
||||||
|
unix/utilsx11.h \
|
||||||
html/forcelnk.h \
|
html/forcelnk.h \
|
||||||
html/helpctrl.h \
|
html/helpctrl.h \
|
||||||
html/helpdata.h \
|
html/helpdata.h \
|
||||||
@@ -674,6 +677,7 @@ COMMONOBJS = \
|
|||||||
hashmap.o \
|
hashmap.o \
|
||||||
helpbase.o \
|
helpbase.o \
|
||||||
http.o \
|
http.o \
|
||||||
|
iconbndl.o \
|
||||||
imagall.o \
|
imagall.o \
|
||||||
imagbmp.o \
|
imagbmp.o \
|
||||||
image.o \
|
image.o \
|
||||||
|
@@ -103,6 +103,7 @@ ALL_SOURCES = \
|
|||||||
common/hashmap.cpp \
|
common/hashmap.cpp \
|
||||||
common/helpbase.cpp \
|
common/helpbase.cpp \
|
||||||
common/http.cpp \
|
common/http.cpp \
|
||||||
|
common/iconbndl.cpp \
|
||||||
common/imagall.cpp \
|
common/imagall.cpp \
|
||||||
common/imagbmp.cpp \
|
common/imagbmp.cpp \
|
||||||
common/image.cpp \
|
common/image.cpp \
|
||||||
@@ -235,6 +236,7 @@ ALL_SOURCES = \
|
|||||||
unix/snglinst.cpp \
|
unix/snglinst.cpp \
|
||||||
unix/threadpsx.cpp \
|
unix/threadpsx.cpp \
|
||||||
unix/utilsunx.cpp \
|
unix/utilsunx.cpp \
|
||||||
|
unix/utilsx11.cpp \
|
||||||
html/helpctrl.cpp \
|
html/helpctrl.cpp \
|
||||||
html/helpdata.cpp \
|
html/helpdata.cpp \
|
||||||
html/helpfrm.cpp \
|
html/helpfrm.cpp \
|
||||||
@@ -358,6 +360,7 @@ ALL_HEADERS = \
|
|||||||
helphtml.h \
|
helphtml.h \
|
||||||
helpwin.h \
|
helpwin.h \
|
||||||
icon.h \
|
icon.h \
|
||||||
|
iconbndl.h \
|
||||||
imagbmp.h \
|
imagbmp.h \
|
||||||
image.h \
|
image.h \
|
||||||
imaggif.h \
|
imaggif.h \
|
||||||
@@ -592,6 +595,7 @@ ALL_HEADERS = \
|
|||||||
unix/fontutil.h \
|
unix/fontutil.h \
|
||||||
unix/gsockunx.h \
|
unix/gsockunx.h \
|
||||||
unix/mimetype.h \
|
unix/mimetype.h \
|
||||||
|
unix/utilsx11.h \
|
||||||
html/forcelnk.h \
|
html/forcelnk.h \
|
||||||
html/helpctrl.h \
|
html/helpctrl.h \
|
||||||
html/helpdata.h \
|
html/helpdata.h \
|
||||||
@@ -668,6 +672,7 @@ COMMONOBJS = \
|
|||||||
hashmap.o \
|
hashmap.o \
|
||||||
helpbase.o \
|
helpbase.o \
|
||||||
http.o \
|
http.o \
|
||||||
|
iconbndl.o \
|
||||||
imagall.o \
|
imagall.o \
|
||||||
imagbmp.o \
|
imagbmp.o \
|
||||||
image.o \
|
image.o \
|
||||||
@@ -852,7 +857,8 @@ UNIXOBJS = \
|
|||||||
mimetype.o \
|
mimetype.o \
|
||||||
snglinst.o \
|
snglinst.o \
|
||||||
threadpsx.o \
|
threadpsx.o \
|
||||||
utilsunx.o
|
utilsunx.o \
|
||||||
|
utilsx11.o
|
||||||
|
|
||||||
HTMLOBJS = \
|
HTMLOBJS = \
|
||||||
helpctrl.o \
|
helpctrl.o \
|
||||||
|
@@ -50,6 +50,7 @@
|
|||||||
|
|
||||||
#include <Xm/Xm.h>
|
#include <Xm/Xm.h>
|
||||||
#include <X11/Shell.h>
|
#include <X11/Shell.h>
|
||||||
|
#include <X11/Core.h>
|
||||||
#if XmVersion >= 1002
|
#if XmVersion >= 1002
|
||||||
#include <Xm/XmAll.h>
|
#include <Xm/XmAll.h>
|
||||||
#else
|
#else
|
||||||
@@ -73,6 +74,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "wx/motif/private.h"
|
#include "wx/motif/private.h"
|
||||||
|
#include "wx/unix/utilsx11.h"
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// private functions
|
// private functions
|
||||||
@@ -627,10 +629,8 @@ void wxFrame::SetTitle(const wxString& title)
|
|||||||
NULL);
|
NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxFrame::SetIcon(const wxIcon& icon)
|
void wxFrame::DoSetIcon(const wxIcon& icon)
|
||||||
{
|
{
|
||||||
m_icon = icon;
|
|
||||||
|
|
||||||
if (!m_frameShell)
|
if (!m_frameShell)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -640,6 +640,23 @@ void wxFrame::SetIcon(const wxIcon& icon)
|
|||||||
XtVaSetValues((Widget) m_frameShell, XtNiconPixmap, icon.GetPixmap(), NULL);
|
XtVaSetValues((Widget) m_frameShell, XtNiconPixmap, icon.GetPixmap(), NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxFrame::SetIcon(const wxIcon& icon)
|
||||||
|
{
|
||||||
|
SetIcons( wxIconBundle( icon ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
void wxFrame::SetIcons(const wxIconBundle& icons)
|
||||||
|
{
|
||||||
|
wxFrameBase::SetIcons( icons );
|
||||||
|
|
||||||
|
if (!m_frameShell)
|
||||||
|
return;
|
||||||
|
|
||||||
|
DoSetIcon( m_icons.GetIcon( -1 ) );
|
||||||
|
wxSetIconsX11(GetXDisplay(),
|
||||||
|
(WXWindow) XtWindow( (Widget) m_frameShell ), icons);
|
||||||
|
}
|
||||||
|
|
||||||
void wxFrame::PositionStatusBar()
|
void wxFrame::PositionStatusBar()
|
||||||
{
|
{
|
||||||
if (!m_frameStatusBar)
|
if (!m_frameStatusBar)
|
||||||
|
@@ -527,14 +527,20 @@ void wxMDIChildFrame::SetMenuBar(wxMenuBar *menuBar)
|
|||||||
// Set icon
|
// Set icon
|
||||||
void wxMDIChildFrame::SetIcon(const wxIcon& icon)
|
void wxMDIChildFrame::SetIcon(const wxIcon& icon)
|
||||||
{
|
{
|
||||||
m_icon = icon;
|
m_icons = wxIconBundle( icon );
|
||||||
if (m_icon.Ok())
|
|
||||||
|
if (icon.Ok())
|
||||||
{
|
{
|
||||||
// Not appropriate since there are no icons in
|
// Not appropriate since there are no icons in
|
||||||
// a tabbed window
|
// a tabbed window
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxMDIChildFrame::SetIcons(const wxIconBundle& icons)
|
||||||
|
{
|
||||||
|
m_icons = icons;
|
||||||
|
}
|
||||||
|
|
||||||
void wxMDIChildFrame::SetTitle(const wxString& title)
|
void wxMDIChildFrame::SetTitle(const wxString& title)
|
||||||
{
|
{
|
||||||
m_title = title;
|
m_title = title;
|
||||||
|
@@ -88,6 +88,7 @@ ALL_SOURCES = \
|
|||||||
common/hashmap.cpp \
|
common/hashmap.cpp \
|
||||||
common/helpbase.cpp \
|
common/helpbase.cpp \
|
||||||
common/http.cpp \
|
common/http.cpp \
|
||||||
|
common/iconbndl.cpp \
|
||||||
common/imagall.cpp \
|
common/imagall.cpp \
|
||||||
common/imagbmp.cpp \
|
common/imagbmp.cpp \
|
||||||
common/image.cpp \
|
common/image.cpp \
|
||||||
@@ -389,6 +390,7 @@ ALL_HEADERS = \
|
|||||||
helphtml.h \
|
helphtml.h \
|
||||||
helpwin.h \
|
helpwin.h \
|
||||||
icon.h \
|
icon.h \
|
||||||
|
iconbndl.h \
|
||||||
imagbmp.h \
|
imagbmp.h \
|
||||||
image.h \
|
image.h \
|
||||||
imaggif.h \
|
imaggif.h \
|
||||||
@@ -666,6 +668,7 @@ ALL_HEADERS = \
|
|||||||
unix/fontutil.h \
|
unix/fontutil.h \
|
||||||
unix/gsockunx.h \
|
unix/gsockunx.h \
|
||||||
unix/mimetype.h \
|
unix/mimetype.h \
|
||||||
|
unix/utilsx11.h \
|
||||||
html/forcelnk.h \
|
html/forcelnk.h \
|
||||||
html/helpctrl.h \
|
html/helpctrl.h \
|
||||||
html/helpdata.h \
|
html/helpdata.h \
|
||||||
@@ -742,6 +745,7 @@ COMMONOBJS = \
|
|||||||
hashmap.o \
|
hashmap.o \
|
||||||
helpbase.o \
|
helpbase.o \
|
||||||
http.o \
|
http.o \
|
||||||
|
iconbndl.o \
|
||||||
imagall.o \
|
imagall.o \
|
||||||
imagbmp.o \
|
imagbmp.o \
|
||||||
image.o \
|
image.o \
|
||||||
|
@@ -602,7 +602,8 @@ bool wxFrame::HandlePaint()
|
|||||||
#ifndef __WXMICROWIN__
|
#ifndef __WXMICROWIN__
|
||||||
if ( m_iconized )
|
if ( m_iconized )
|
||||||
{
|
{
|
||||||
HICON hIcon = m_icon.Ok() ? GetHiconOf(m_icon)
|
const wxIcon& icon = GetIcon();
|
||||||
|
HICON hIcon = icon.Ok() ? GetHiconOf(icon)
|
||||||
: (HICON)GetDefaultIcon();
|
: (HICON)GetDefaultIcon();
|
||||||
|
|
||||||
// Hold a pointer to the dc so long as the OnPaint() message
|
// Hold a pointer to the dc so long as the OnPaint() message
|
||||||
@@ -837,7 +838,8 @@ long wxFrame::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
|
|||||||
|
|
||||||
case WM_QUERYDRAGICON:
|
case WM_QUERYDRAGICON:
|
||||||
{
|
{
|
||||||
HICON hIcon = m_icon.Ok() ? GetHiconOf(m_icon)
|
const wxIcon& icon = GetIcon();
|
||||||
|
HICON hIcon = icon.Ok() ? GetHiconOf(icon)
|
||||||
: (HICON)GetDefaultIcon();
|
: (HICON)GetDefaultIcon();
|
||||||
rc = (long)hIcon;
|
rc = (long)hIcon;
|
||||||
processed = rc != 0;
|
processed = rc != 0;
|
||||||
|
@@ -171,6 +171,7 @@ COMMONOBJS = \
|
|||||||
$(MSWDIR)\hashmap.obj \
|
$(MSWDIR)\hashmap.obj \
|
||||||
$(MSWDIR)\helpbase.obj \
|
$(MSWDIR)\helpbase.obj \
|
||||||
$(MSWDIR)\http.obj \
|
$(MSWDIR)\http.obj \
|
||||||
|
$(MSWDIR)\iconbndl.obj \
|
||||||
$(MSWDIR)\imagall.obj \
|
$(MSWDIR)\imagall.obj \
|
||||||
$(MSWDIR)\imagbmp.obj \
|
$(MSWDIR)\imagbmp.obj \
|
||||||
$(MSWDIR)\image.obj \
|
$(MSWDIR)\image.obj \
|
||||||
@@ -763,6 +764,8 @@ $(MSWDIR)\helpbase.obj: $(COMMDIR)\helpbase.$(SRCSUFF)
|
|||||||
|
|
||||||
$(MSWDIR)\http.obj: $(COMMDIR)\http.$(SRCSUFF)
|
$(MSWDIR)\http.obj: $(COMMDIR)\http.$(SRCSUFF)
|
||||||
|
|
||||||
|
$(MSWDIR)\iconbndl.obj: $(COMMDIR)\iconbndl.$(SRCSUFF)
|
||||||
|
|
||||||
$(MSWDIR)\imagall.obj: $(COMMDIR)\imagall.$(SRCSUFF)
|
$(MSWDIR)\imagall.obj: $(COMMDIR)\imagall.$(SRCSUFF)
|
||||||
|
|
||||||
$(MSWDIR)\imagbmp.obj: $(COMMDIR)\imagbmp.$(SRCSUFF)
|
$(MSWDIR)\imagbmp.obj: $(COMMDIR)\imagbmp.$(SRCSUFF)
|
||||||
|
@@ -157,6 +157,7 @@ COMMONOBJS = \
|
|||||||
$(MSWDIR)\hash.obj \
|
$(MSWDIR)\hash.obj \
|
||||||
$(MSWDIR)\hashmap.obj \
|
$(MSWDIR)\hashmap.obj \
|
||||||
$(MSWDIR)\helpbase.obj \
|
$(MSWDIR)\helpbase.obj \
|
||||||
|
$(MSWDIR)\iconbndl.obj \
|
||||||
$(MSWDIR)\imagall.obj \
|
$(MSWDIR)\imagall.obj \
|
||||||
$(MSWDIR)\imagbmp.obj \
|
$(MSWDIR)\imagbmp.obj \
|
||||||
$(MSWDIR)\image.obj \
|
$(MSWDIR)\image.obj \
|
||||||
@@ -615,6 +616,8 @@ $(MSWDIR)\hashmap.obj: $(COMMDIR)\hashmap.$(SRCSUFF)
|
|||||||
|
|
||||||
$(MSWDIR)\helpbase.obj: $(COMMDIR)\helpbase.$(SRCSUFF)
|
$(MSWDIR)\helpbase.obj: $(COMMDIR)\helpbase.$(SRCSUFF)
|
||||||
|
|
||||||
|
$(MSWDIR)\iconbndl.obj: $(COMMDIR)\iconbndl.$(SRCSUFF)
|
||||||
|
|
||||||
$(MSWDIR)\imagall.obj: $(COMMDIR)\imagall.$(SRCSUFF)
|
$(MSWDIR)\imagall.obj: $(COMMDIR)\imagall.$(SRCSUFF)
|
||||||
|
|
||||||
$(MSWDIR)\imagbmp.obj: $(COMMDIR)\imagbmp.$(SRCSUFF)
|
$(MSWDIR)\imagbmp.obj: $(COMMDIR)\imagbmp.$(SRCSUFF)
|
||||||
|
@@ -142,6 +142,7 @@ COMMONOBJS1 = \
|
|||||||
$(COMMDIR)\hash.obj \
|
$(COMMDIR)\hash.obj \
|
||||||
$(COMMDIR)\hashmap.obj \
|
$(COMMDIR)\hashmap.obj \
|
||||||
$(COMMDIR)\helpbase.obj \
|
$(COMMDIR)\helpbase.obj \
|
||||||
|
$(COMMDIR)\iconbndl.obj \
|
||||||
$(COMMDIR)\imagall.obj \
|
$(COMMDIR)\imagall.obj \
|
||||||
$(COMMDIR)\imagbmp.obj \
|
$(COMMDIR)\imagbmp.obj \
|
||||||
$(COMMDIR)\image.obj \
|
$(COMMDIR)\image.obj \
|
||||||
@@ -1057,6 +1058,11 @@ $(COMMDIR)/helpbase.obj: $*.$(SRCSUFF)
|
|||||||
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
|
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
|
||||||
<<
|
<<
|
||||||
|
|
||||||
|
$(COMMDIR)/iconbndl.obj: $*.$(SRCSUFF)
|
||||||
|
cl @<<
|
||||||
|
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
|
||||||
|
<<
|
||||||
|
|
||||||
$(COMMDIR)/imagall.obj: $*.$(SRCSUFF)
|
$(COMMDIR)/imagall.obj: $*.$(SRCSUFF)
|
||||||
cl @<<
|
cl @<<
|
||||||
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
|
$(CPPFLAGS) /Fo$@ /c /Tp $*.$(SRCSUFF)
|
||||||
|
@@ -210,6 +210,7 @@ COMMONOBJS = \
|
|||||||
$(COMMDIR)/geometry.$(OBJSUFF) \
|
$(COMMDIR)/geometry.$(OBJSUFF) \
|
||||||
$(COMMDIR)/gifdecod.$(OBJSUFF) \
|
$(COMMDIR)/gifdecod.$(OBJSUFF) \
|
||||||
$(COMMDIR)/helpbase.$(OBJSUFF) \
|
$(COMMDIR)/helpbase.$(OBJSUFF) \
|
||||||
|
$(COMMDIR)/iconbndl.$(OBJSUFF) \
|
||||||
$(COMMDIR)/imagall.$(OBJSUFF) \
|
$(COMMDIR)/imagall.$(OBJSUFF) \
|
||||||
$(COMMDIR)/imagbmp.$(OBJSUFF) \
|
$(COMMDIR)/imagbmp.$(OBJSUFF) \
|
||||||
$(COMMDIR)/image.$(OBJSUFF) \
|
$(COMMDIR)/image.$(OBJSUFF) \
|
||||||
|
@@ -115,6 +115,7 @@ COMMONOBJS = \
|
|||||||
$(COMMDIR)\hashmap.obj \
|
$(COMMDIR)\hashmap.obj \
|
||||||
$(COMMDIR)\helpbase.obj \
|
$(COMMDIR)\helpbase.obj \
|
||||||
$(COMMDIR)\http.obj \
|
$(COMMDIR)\http.obj \
|
||||||
|
$(COMMDIR)\iconbndl.obj \
|
||||||
$(COMMDIR)\imagall.obj \
|
$(COMMDIR)\imagall.obj \
|
||||||
$(COMMDIR)\imagbmp.obj \
|
$(COMMDIR)\imagbmp.obj \
|
||||||
$(COMMDIR)\image.obj \
|
$(COMMDIR)\image.obj \
|
||||||
|
@@ -191,6 +191,7 @@ COMMONOBJS = \
|
|||||||
$(COMMDIR)\$D\hashmap.obj \
|
$(COMMDIR)\$D\hashmap.obj \
|
||||||
$(COMMDIR)\$D\helpbase.obj \
|
$(COMMDIR)\$D\helpbase.obj \
|
||||||
$(COMMDIR)\$D\http.obj \
|
$(COMMDIR)\$D\http.obj \
|
||||||
|
$(COMMDIR)\$D\iconbndl.obj \
|
||||||
$(COMMDIR)\$D\imagall.obj \
|
$(COMMDIR)\$D\imagall.obj \
|
||||||
$(COMMDIR)\$D\imagbmp.obj \
|
$(COMMDIR)\$D\imagbmp.obj \
|
||||||
$(COMMDIR)\$D\image.obj \
|
$(COMMDIR)\$D\image.obj \
|
||||||
|
@@ -153,6 +153,7 @@ COMMONOBJS = &
|
|||||||
hashmap.obj &
|
hashmap.obj &
|
||||||
helpbase.obj &
|
helpbase.obj &
|
||||||
http.obj &
|
http.obj &
|
||||||
|
iconbndl.obj &
|
||||||
imagall.obj &
|
imagall.obj &
|
||||||
imagbmp.obj &
|
imagbmp.obj &
|
||||||
image.obj &
|
image.obj &
|
||||||
@@ -903,6 +904,9 @@ helpbase.obj: $(COMMDIR)\helpbase.cpp
|
|||||||
http.obj: $(COMMDIR)\http.cpp
|
http.obj: $(COMMDIR)\http.cpp
|
||||||
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
|
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
|
||||||
|
|
||||||
|
iconbndl.obj: $(COMMDIR)\iconbndl.cpp
|
||||||
|
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
|
||||||
|
|
||||||
imagall.obj: $(COMMDIR)\imagall.cpp
|
imagall.obj: $(COMMDIR)\imagall.cpp
|
||||||
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
|
*$(CCC) $(CPPFLAGS) $(IFLAGS) $<
|
||||||
|
|
||||||
|
@@ -584,14 +584,26 @@ bool wxTopLevelWindowMSW::ShowFullScreen(bool show, long style)
|
|||||||
|
|
||||||
void wxTopLevelWindowMSW::SetIcon(const wxIcon& icon)
|
void wxTopLevelWindowMSW::SetIcon(const wxIcon& icon)
|
||||||
{
|
{
|
||||||
// this sets m_icon
|
SetIcons( wxIconBundle( icon ) );
|
||||||
wxTopLevelWindowBase::SetIcon(icon);
|
}
|
||||||
|
|
||||||
|
void wxTopLevelWindowMSW::SetIcons(const wxIconBundle& icons)
|
||||||
|
{
|
||||||
|
wxTopLevelWindowBase::SetIcons(icons);
|
||||||
|
|
||||||
#if defined(__WIN95__) && !defined(__WXMICROWIN__)
|
#if defined(__WIN95__) && !defined(__WXMICROWIN__)
|
||||||
if ( m_icon.Ok() )
|
const wxIcon& sml = icons.GetIcon( wxSize( 16, 16 ) );
|
||||||
|
if( sml.Ok() && sml.GetWidth() == 16 && sml.GetHeight() == 16 )
|
||||||
{
|
{
|
||||||
::SendMessage(GetHwnd(), WM_SETICON,
|
::SendMessage( GetHwndOf( this ), WM_SETICON, ICON_SMALL,
|
||||||
(WPARAM)TRUE, (LPARAM)GetHiconOf(m_icon));
|
(LPARAM)GetHiconOf(sml) );
|
||||||
|
}
|
||||||
|
|
||||||
|
const wxIcon& big = icons.GetIcon( wxSize( 32, 32 ) );
|
||||||
|
if( big.Ok() && big.GetWidth() == 32 && big.GetHeight() == 32 )
|
||||||
|
{
|
||||||
|
::SendMessage( GetHwndOf( this ), WM_SETICON, ICON_BIG,
|
||||||
|
(LPARAM)GetHiconOf(big) );
|
||||||
}
|
}
|
||||||
#endif // __WIN95__
|
#endif // __WIN95__
|
||||||
}
|
}
|
||||||
|
@@ -109,7 +109,8 @@ static FileInfoMap s_fileInfo(25);
|
|||||||
// Other initialization.
|
// Other initialization.
|
||||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
#if wxUSE_GUI
|
#if wxUSE_GUI
|
||||||
WX_DEFINE_OBJARRAY(wxIconArray);
|
// already in wx/iconbndl.h
|
||||||
|
// WX_DEFINE_OBJARRAY(wxIconArray);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||||
|
@@ -97,6 +97,7 @@ ALL_SOURCES = \
|
|||||||
common/hashmap.cpp \
|
common/hashmap.cpp \
|
||||||
common/helpbase.cpp \
|
common/helpbase.cpp \
|
||||||
common/http.cpp \
|
common/http.cpp \
|
||||||
|
common/iconbndl.cpp \
|
||||||
common/imagall.cpp \
|
common/imagall.cpp \
|
||||||
common/imagbmp.cpp \
|
common/imagbmp.cpp \
|
||||||
common/image.cpp \
|
common/image.cpp \
|
||||||
@@ -368,6 +369,7 @@ ALL_HEADERS = \
|
|||||||
helphtml.h \
|
helphtml.h \
|
||||||
helpwin.h \
|
helpwin.h \
|
||||||
icon.h \
|
icon.h \
|
||||||
|
iconbndl.h \
|
||||||
imagbmp.h \
|
imagbmp.h \
|
||||||
image.h \
|
image.h \
|
||||||
imaggif.h \
|
imaggif.h \
|
||||||
@@ -688,6 +690,7 @@ COMMONOBJS = \
|
|||||||
hashmap.o \
|
hashmap.o \
|
||||||
helpbase.o \
|
helpbase.o \
|
||||||
http.o \
|
http.o \
|
||||||
|
iconbndl.o \
|
||||||
imagall.o \
|
imagall.o \
|
||||||
imagbmp.o \
|
imagbmp.o \
|
||||||
image.o \
|
image.o \
|
||||||
|
@@ -296,13 +296,14 @@ int wxTopLevelWindow::GetMinHeight() const
|
|||||||
// icons
|
// icons
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
void wxTopLevelWindow::SetIcon(const wxIcon& icon)
|
void wxTopLevelWindow::SetIcons(const wxIconBundle& icons)
|
||||||
{
|
{
|
||||||
wxTopLevelWindowNative::SetIcon(icon);
|
wxTopLevelWindowNative::SetIcons(icons);
|
||||||
|
|
||||||
if ( ms_drawDecorations && m_renderer )
|
if ( ms_drawDecorations && m_renderer )
|
||||||
{
|
{
|
||||||
wxSize size = m_renderer->GetFrameIconSize();
|
wxSize size = m_renderer->GetFrameIconSize();
|
||||||
|
const wxIcon& icon = icons.GetIcon( size );
|
||||||
|
|
||||||
if ( !icon.Ok() || size.x == -1 )
|
if ( !icon.Ok() || size.x == -1 )
|
||||||
m_titlebarIcon = icon;
|
m_titlebarIcon = icon;
|
||||||
|
89
src/unix/utilsx11.cpp
Normal file
89
src/unix/utilsx11.cpp
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
// Name: src/unix/utilsx11.cpp
|
||||||
|
// Purpose: Miscellaneous X11 functions
|
||||||
|
// Author: Mattia Barbon
|
||||||
|
// Modified by:
|
||||||
|
// Created: 25.03.02
|
||||||
|
// RCS-ID: $Id$
|
||||||
|
// Copyright: (c) wxWindows team
|
||||||
|
// Licence: wxWindows license
|
||||||
|
/////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
#if defined(__WXX11__) || defined(__WXGTK__) || defined(__WXMOTIF__)
|
||||||
|
|
||||||
|
#include "wx/unix/utilsx11.h"
|
||||||
|
#include "wx/iconbndl.h"
|
||||||
|
#include "wx/image.h"
|
||||||
|
#include "wx/icon.h"
|
||||||
|
|
||||||
|
#include <X11/Xlib.h>
|
||||||
|
#include <X11/Xatom.h>
|
||||||
|
|
||||||
|
void wxSetIconsX11( WXDisplay* display, WXWindow window,
|
||||||
|
const wxIconBundle& ib )
|
||||||
|
{
|
||||||
|
size_t size = 0;
|
||||||
|
size_t i, max = ib.m_icons.GetCount();
|
||||||
|
|
||||||
|
for( i = 0; i < max; ++i )
|
||||||
|
size += 2 + ib.m_icons[i].GetWidth() * ib.m_icons[i].GetHeight();
|
||||||
|
|
||||||
|
Atom net_wm_icon = XInternAtom( (Display*)display, "_NET_WM_ICON", 0 );
|
||||||
|
|
||||||
|
if( size > 0 )
|
||||||
|
{
|
||||||
|
wxUint32* data = new wxUint32[size];
|
||||||
|
wxUint32* ptr = data;
|
||||||
|
|
||||||
|
for( i = 0; i < max; ++i )
|
||||||
|
{
|
||||||
|
const wxImage image = ib.m_icons[i].ConvertToImage();
|
||||||
|
int width = image.GetWidth(), height = image.GetHeight();
|
||||||
|
unsigned char* imageData = image.GetData();
|
||||||
|
unsigned char* imageDataEnd = imageData + ( width * height * 3 );
|
||||||
|
bool hasMask = image.HasMask();
|
||||||
|
unsigned char rMask, gMask, bMask;
|
||||||
|
unsigned char r, g, b, a;
|
||||||
|
|
||||||
|
if( hasMask )
|
||||||
|
{
|
||||||
|
rMask = image.GetMaskRed();
|
||||||
|
gMask = image.GetMaskGreen();
|
||||||
|
bMask = image.GetMaskBlue();
|
||||||
|
}
|
||||||
|
|
||||||
|
*ptr++ = width;
|
||||||
|
*ptr++ = height;
|
||||||
|
|
||||||
|
while( imageData < imageDataEnd ) {
|
||||||
|
r = imageData[0];
|
||||||
|
g = imageData[1];
|
||||||
|
b = imageData[2];
|
||||||
|
if( hasMask && r == rMask && g == gMask && b == bMask )
|
||||||
|
a = 0;
|
||||||
|
else
|
||||||
|
a = 255;
|
||||||
|
|
||||||
|
*ptr++ = ( a << 24 ) | ( r << 16 ) | ( g << 8 ) | b;
|
||||||
|
|
||||||
|
imageData += 3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
XChangeProperty( (Display*)display,
|
||||||
|
(Window)window,
|
||||||
|
net_wm_icon,
|
||||||
|
XA_CARDINAL, 32,
|
||||||
|
PropModeReplace,
|
||||||
|
(unsigned char*)data, size );
|
||||||
|
delete[] data;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
XDeleteProperty( (Display*)display,
|
||||||
|
(Window)window,
|
||||||
|
net_wm_icon );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
@@ -309,6 +309,10 @@ SOURCE=.\common\http.cpp
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\common\iconbndl.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\common\imagall.cpp
|
SOURCE=.\common\imagall.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
@@ -1626,6 +1630,10 @@ SOURCE=..\include\wx\icon.h
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\include\wx\iconbndl.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\include\wx\imagbmp.h
|
SOURCE=..\include\wx\imagbmp.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
@@ -468,6 +468,10 @@ SOURCE=.\common\http.cpp
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\common\iconbndl.cpp
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=.\common\imagall.cpp
|
SOURCE=.\common\imagall.cpp
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
@@ -1906,6 +1910,10 @@ SOURCE=..\include\wx\icon.h
|
|||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=..\include\wx\iconbndl.h
|
||||||
|
# End Source File
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
SOURCE=..\include\wx\imagbmp.h
|
SOURCE=..\include\wx\imagbmp.h
|
||||||
# End Source File
|
# End Source File
|
||||||
# Begin Source File
|
# Begin Source File
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
Microsoft Developer Studio Workspace File, Format Version 6.00
|
Microsoft Developer Studio Workspace File, Format Version 5.00
|
||||||
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
@@ -59,21 +59,6 @@ Package=<5>
|
|||||||
|
|
||||||
Package=<4>
|
Package=<4>
|
||||||
{{{
|
{{{
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name jpeg
|
|
||||||
End Project Dependency
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name png
|
|
||||||
End Project Dependency
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name regex
|
|
||||||
End Project Dependency
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name tiff
|
|
||||||
End Project Dependency
|
|
||||||
Begin Project Dependency
|
|
||||||
Project_Dep_Name zlib
|
|
||||||
End Project Dependency
|
|
||||||
}}}
|
}}}
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
|
@@ -135,6 +135,7 @@ ALL_SOURCES = \
|
|||||||
common/hashmap.cpp \
|
common/hashmap.cpp \
|
||||||
common/helpbase.cpp \
|
common/helpbase.cpp \
|
||||||
common/http.cpp \
|
common/http.cpp \
|
||||||
|
common/iconbndl.cpp \
|
||||||
common/imagall.cpp \
|
common/imagall.cpp \
|
||||||
common/imagbmp.cpp \
|
common/imagbmp.cpp \
|
||||||
common/image.cpp \
|
common/image.cpp \
|
||||||
@@ -214,6 +215,7 @@ ALL_SOURCES = \
|
|||||||
unix/snglinst.cpp \
|
unix/snglinst.cpp \
|
||||||
unix/threadpsx.cpp \
|
unix/threadpsx.cpp \
|
||||||
unix/utilsunx.cpp \
|
unix/utilsunx.cpp \
|
||||||
|
unix/utilsx11.cpp \
|
||||||
html/helpctrl.cpp \
|
html/helpctrl.cpp \
|
||||||
html/helpdata.cpp \
|
html/helpdata.cpp \
|
||||||
html/helpfrm.cpp \
|
html/helpfrm.cpp \
|
||||||
@@ -337,6 +339,7 @@ ALL_HEADERS = \
|
|||||||
helphtml.h \
|
helphtml.h \
|
||||||
helpwin.h \
|
helpwin.h \
|
||||||
icon.h \
|
icon.h \
|
||||||
|
iconbndl.h \
|
||||||
imagbmp.h \
|
imagbmp.h \
|
||||||
image.h \
|
image.h \
|
||||||
imaggif.h \
|
imaggif.h \
|
||||||
@@ -583,6 +586,7 @@ ALL_HEADERS = \
|
|||||||
unix/fontutil.h \
|
unix/fontutil.h \
|
||||||
unix/gsockunx.h \
|
unix/gsockunx.h \
|
||||||
unix/mimetype.h \
|
unix/mimetype.h \
|
||||||
|
unix/utilsx11.h \
|
||||||
html/forcelnk.h \
|
html/forcelnk.h \
|
||||||
html/helpctrl.h \
|
html/helpctrl.h \
|
||||||
html/helpdata.h \
|
html/helpdata.h \
|
||||||
@@ -693,6 +697,7 @@ COMMONOBJS = \
|
|||||||
hashmap.o \
|
hashmap.o \
|
||||||
helpbase.o \
|
helpbase.o \
|
||||||
http.o \
|
http.o \
|
||||||
|
iconbndl.o \
|
||||||
imagall.o \
|
imagall.o \
|
||||||
imagbmp.o \
|
imagbmp.o \
|
||||||
image.o \
|
image.o \
|
||||||
@@ -821,7 +826,8 @@ UNIXOBJS = \
|
|||||||
mimetype.o \
|
mimetype.o \
|
||||||
snglinst.o \
|
snglinst.o \
|
||||||
threadpsx.o \
|
threadpsx.o \
|
||||||
utilsunx.o
|
utilsunx.o \
|
||||||
|
utilsx11.o
|
||||||
|
|
||||||
HTMLOBJS = \
|
HTMLOBJS = \
|
||||||
helpctrl.o \
|
helpctrl.o \
|
||||||
|
@@ -43,6 +43,8 @@
|
|||||||
#include "wx/x11/private.h"
|
#include "wx/x11/private.h"
|
||||||
#include "X11/Xutil.h"
|
#include "X11/Xutil.h"
|
||||||
|
|
||||||
|
#include "wx/unix/utilsx11.h"
|
||||||
|
|
||||||
bool wxMWMIsRunning(Window w);
|
bool wxMWMIsRunning(Window w);
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -393,11 +395,8 @@ bool wxTopLevelWindowX11::ShowFullScreen(bool show, long style)
|
|||||||
// wxTopLevelWindowX11 misc
|
// wxTopLevelWindowX11 misc
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
|
|
||||||
void wxTopLevelWindowX11::SetIcon(const wxIcon& icon)
|
void wxTopLevelWindowX11::DoSetIcon(const wxIcon& icon)
|
||||||
{
|
{
|
||||||
// this sets m_icon
|
|
||||||
wxTopLevelWindowBase::SetIcon(icon);
|
|
||||||
|
|
||||||
if (icon.Ok() && GetMainWindow())
|
if (icon.Ok() && GetMainWindow())
|
||||||
{
|
{
|
||||||
#if wxUSE_NANOX
|
#if wxUSE_NANOX
|
||||||
@@ -419,6 +418,15 @@ void wxTopLevelWindowX11::SetIcon(const wxIcon& icon)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxTopLevelWindowX11::SetIcons(const wxIconBundle& icons )
|
||||||
|
{
|
||||||
|
// this sets m_icon
|
||||||
|
wxTopLevelWindowBase::SetIcons( icons );
|
||||||
|
|
||||||
|
DoSetIcon( icons.GetIcon( -1 ) );
|
||||||
|
wxSetIconsX11( GetXDisplay(), GetXWindow(), icons );
|
||||||
|
}
|
||||||
|
|
||||||
void wxTopLevelWindowX11::SetTitle(const wxString& title)
|
void wxTopLevelWindowX11::SetTitle(const wxString& title)
|
||||||
{
|
{
|
||||||
m_title = title;
|
m_title = title;
|
||||||
|
Reference in New Issue
Block a user