Added wxTreeCtrl::SetItemDropHighlight (wxMSW only);
added WS_CLIPCHILDREN style to wxNotebook. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1947 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -36,6 +36,8 @@ src/generic/*.cpp
|
|||||||
src/generic/*.c
|
src/generic/*.c
|
||||||
src/generic/*.inc
|
src/generic/*.inc
|
||||||
|
|
||||||
|
src/unix/*.cpp
|
||||||
|
|
||||||
src/png/*.c
|
src/png/*.c
|
||||||
src/png/*.h
|
src/png/*.h
|
||||||
src/png/makefile*
|
src/png/makefile*
|
||||||
@@ -66,6 +68,7 @@ include/wx/protocol/*.h
|
|||||||
include/wx/wx_setup.vms
|
include/wx/wx_setup.vms
|
||||||
include/wx/common/*.h
|
include/wx/common/*.h
|
||||||
include/wx/generic/*.h
|
include/wx/generic/*.h
|
||||||
|
include/wx/unix/*.h
|
||||||
lib/dummy
|
lib/dummy
|
||||||
|
|
||||||
bin/*.*
|
bin/*.*
|
||||||
|
@@ -1,6 +1,23 @@
|
|||||||
wxWindows 2 Change Log
|
wxWindows 2 Change Log
|
||||||
----------------------
|
----------------------
|
||||||
|
|
||||||
|
2.0.2, March ?? 1999
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
wxGTK:
|
||||||
|
|
||||||
|
|
||||||
|
wxMSW:
|
||||||
|
|
||||||
|
- wxNotebook changes: can add image only; wxNB_FIXEDWIDTH added;
|
||||||
|
SetTabSize added.
|
||||||
|
|
||||||
|
wxMotif:
|
||||||
|
|
||||||
|
|
||||||
|
General:
|
||||||
|
|
||||||
|
|
||||||
2.0.1 (release), March 1st 1999
|
2.0.1 (release), March 1st 1999
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
|
@@ -591,17 +591,16 @@ typedef void (*wxFunction) (wxObject&, wxEvent&);
|
|||||||
* wxTabCtrl flags
|
* wxTabCtrl flags
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define wxTAB_MULTILINE 0x0000
|
|
||||||
#define wxTAB_RIGHTJUSTIFY 0x0004
|
|
||||||
#define wxTAB_FIXEDWIDTH 0x0008
|
|
||||||
#define wxTAB_OWNERDRAW 0x0010
|
|
||||||
|
|
||||||
// Sorry, I changed my mind about these names...
|
|
||||||
#define wxTC_MULTILINE 0x0000
|
#define wxTC_MULTILINE 0x0000
|
||||||
#define wxTC_RIGHTJUSTIFY 0x0004
|
#define wxTC_RIGHTJUSTIFY 0x0004
|
||||||
#define wxTC_FIXEDWIDTH 0x0008
|
#define wxTC_FIXEDWIDTH 0x0008
|
||||||
#define wxTC_OWNERDRAW 0x0010
|
#define wxTC_OWNERDRAW 0x0010
|
||||||
|
|
||||||
|
/*
|
||||||
|
* wxNotebook flags
|
||||||
|
*/
|
||||||
|
#define wxNB_FIXEDWIDTH 0x0008
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* wxStatusBar95 flags
|
* wxStatusBar95 flags
|
||||||
*/
|
*/
|
||||||
|
@@ -166,6 +166,10 @@ public:
|
|||||||
// get the panel which represents the given page
|
// get the panel which represents the given page
|
||||||
wxNotebookPage *GetPage(int nPage) { return m_aPages[nPage]; }
|
wxNotebookPage *GetPage(int nPage) { return m_aPages[nPage]; }
|
||||||
|
|
||||||
|
// Windows-only at present. Also, you must use the wxNB_FIXEDWIDTH
|
||||||
|
// style.
|
||||||
|
void SetTabSize(const wxSize& sz);
|
||||||
|
|
||||||
// callbacks
|
// callbacks
|
||||||
// ---------
|
// ---------
|
||||||
void OnSize(wxSizeEvent& event);
|
void OnSize(wxSizeEvent& event);
|
||||||
|
@@ -253,6 +253,9 @@ public:
|
|||||||
// the item will be shown in bold
|
// the item will be shown in bold
|
||||||
void SetItemBold(const wxTreeItemId& item, bool bold = TRUE);
|
void SetItemBold(const wxTreeItemId& item, bool bold = TRUE);
|
||||||
|
|
||||||
|
// the item will be shown with a drop highlight
|
||||||
|
void SetItemDropHighlight(const wxTreeItemId& item, bool highlight = TRUE);
|
||||||
|
|
||||||
// item status inquiries
|
// item status inquiries
|
||||||
// ---------------------
|
// ---------------------
|
||||||
|
|
||||||
|
@@ -36,6 +36,9 @@ extern "C" {
|
|||||||
#include "wx/intl.h"
|
#include "wx/intl.h"
|
||||||
#include "wx/module.h"
|
#include "wx/module.h"
|
||||||
|
|
||||||
|
// For memcpy
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
#ifdef __SALFORDC__
|
#ifdef __SALFORDC__
|
||||||
#ifdef FAR
|
#ifdef FAR
|
||||||
#undef FAR
|
#undef FAR
|
||||||
@@ -256,9 +259,11 @@ char unsigned *wxImage::GetData() const
|
|||||||
return M_IMGDATA->m_data;
|
return M_IMGDATA->m_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxImage::SetData( char unsigned *WXUNUSED(data) )
|
void wxImage::SetData( char unsigned *data )
|
||||||
{
|
{
|
||||||
wxCHECK_RET( Ok(), "invalid image" );
|
wxCHECK_RET( Ok(), "invalid image" );
|
||||||
|
|
||||||
|
memcpy(M_IMGDATA->m_data, data, M_IMGDATA->m_width * M_IMGDATA->m_height * 3);
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxImage::SetMaskColour( unsigned char r, unsigned char g, unsigned char b )
|
void wxImage::SetMaskColour( unsigned char r, unsigned char g, unsigned char b )
|
||||||
|
@@ -133,11 +133,13 @@ bool wxNotebook::Create(wxWindow *parent,
|
|||||||
// style
|
// style
|
||||||
m_windowStyle = style | wxTAB_TRAVERSAL;
|
m_windowStyle = style | wxTAB_TRAVERSAL;
|
||||||
|
|
||||||
long tabStyle = WS_CHILD | WS_VISIBLE | WS_TABSTOP | TCS_TABS;
|
long tabStyle = WS_CHILD | WS_VISIBLE | WS_TABSTOP | TCS_TABS | WS_CLIPCHILDREN;
|
||||||
if ( m_windowStyle & wxTC_MULTILINE )
|
if ( m_windowStyle & wxTC_MULTILINE )
|
||||||
tabStyle |= TCS_MULTILINE;
|
tabStyle |= TCS_MULTILINE;
|
||||||
if ( m_windowStyle & wxBORDER )
|
if ( m_windowStyle & wxBORDER )
|
||||||
tabStyle &= WS_BORDER;
|
tabStyle &= WS_BORDER;
|
||||||
|
if (m_windowStyle & wxNB_FIXEDWIDTH)
|
||||||
|
tabStyle |= TCS_FIXEDWIDTH ;
|
||||||
|
|
||||||
// create the tab control.
|
// create the tab control.
|
||||||
m_hWnd = (WXHWND)CreateWindowEx
|
m_hWnd = (WXHWND)CreateWindowEx
|
||||||
@@ -332,9 +334,23 @@ bool wxNotebook::InsertPage(int nPage,
|
|||||||
|
|
||||||
// add the tab to the control
|
// add the tab to the control
|
||||||
TC_ITEM tcItem;
|
TC_ITEM tcItem;
|
||||||
tcItem.mask = TCIF_TEXT | TCIF_IMAGE;
|
tcItem.mask = 0;
|
||||||
tcItem.pszText = (char *)strText.c_str();
|
|
||||||
tcItem.iImage = imageId;
|
if (imageId != -1)
|
||||||
|
{
|
||||||
|
tcItem.mask |= TCIF_IMAGE;
|
||||||
|
tcItem.iImage = imageId;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
tcItem.iImage = 0;
|
||||||
|
|
||||||
|
if (!strText.IsEmpty())
|
||||||
|
{
|
||||||
|
tcItem.mask |= TCIF_TEXT;
|
||||||
|
tcItem.pszText = (char *)strText.c_str();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
tcItem.pszText = (char *) NULL;
|
||||||
|
|
||||||
if ( TabCtrl_InsertItem(m_hwnd, nPage, &tcItem) == -1 ) {
|
if ( TabCtrl_InsertItem(m_hwnd, nPage, &tcItem) == -1 ) {
|
||||||
wxLogError("Can't create the notebook page '%s'.", strText.c_str());
|
wxLogError("Can't create the notebook page '%s'.", strText.c_str());
|
||||||
@@ -525,3 +541,10 @@ void wxNotebook::OnEraseBackground(wxEraseEvent& event)
|
|||||||
Default();
|
Default();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Windows-only at present. Also, you must use the wxNB_FIXEDWIDTH
|
||||||
|
// style.
|
||||||
|
void wxNotebook::SetTabSize(const wxSize& sz)
|
||||||
|
{
|
||||||
|
::SendMessage((HWND) GetHWND(), TCM_SETITEMSIZE, 0, MAKELPARAM(sz.x, sz.y));
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -377,6 +377,13 @@ void wxTreeCtrl::SetItemBold(const wxTreeItemId& item, bool bold)
|
|||||||
DoSetItem(&tvItem);
|
DoSetItem(&tvItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxTreeCtrl::SetItemDropHighlight(const wxTreeItemId& item, bool highlight)
|
||||||
|
{
|
||||||
|
wxTreeViewItem tvItem(item, TVIF_STATE, TVIS_DROPHILITED);
|
||||||
|
tvItem.state = highlight ? TVIS_DROPHILITED : 0;
|
||||||
|
DoSetItem(&tvItem);
|
||||||
|
}
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// Item status
|
// Item status
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -522,6 +529,13 @@ wxTreeItemId wxTreeCtrl::DoInsertItem(const wxTreeItemId& parent,
|
|||||||
TV_INSERTSTRUCT tvIns;
|
TV_INSERTSTRUCT tvIns;
|
||||||
tvIns.hParent = (HTREEITEM) (WXHTREEITEM)parent;
|
tvIns.hParent = (HTREEITEM) (WXHTREEITEM)parent;
|
||||||
tvIns.hInsertAfter = (HTREEITEM) (WXHTREEITEM) hInsertAfter;
|
tvIns.hInsertAfter = (HTREEITEM) (WXHTREEITEM) hInsertAfter;
|
||||||
|
|
||||||
|
// This is how we insert the item as the first child: supply a NULL hInsertAfter
|
||||||
|
if (tvIns.hInsertAfter == (HTREEITEM) 0)
|
||||||
|
{
|
||||||
|
tvIns.hInsertAfter = TVI_FIRST;
|
||||||
|
}
|
||||||
|
|
||||||
UINT mask = 0;
|
UINT mask = 0;
|
||||||
if ( !text.IsEmpty() )
|
if ( !text.IsEmpty() )
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user