can be used without change or can be altered (by deriving a new class from them) in order to deliver
data and data size on-demand. There is no need to ever use wxDataObject itself or derive directly from it.
-You may also derive your own data object classes from \helpref{wxPrivateDataObject}{wxprivatedataobject}
+You may also derive your own data object classes from \helpref{wxPrivateDataObject}{wxprivatedataobject}
for user-defined types. The format of user-defined data is given as mime-type string literal,
such as "application/word" or "image/png". These strings are used as they are under Unix (so
far only GTK) to identify a format and are translated into their Windows equivalent under
Win32 (using the OLE IDataObject for data exchange to and from the clipboard and for Drag'n'Drop).
Note that the format string translation under Windows is not yet finnished.
-As mentioned above, data may be placed into the \helpref{wxClipboard}{wxclipboard}
+As mentioned above, data may be placed into the \helpref{wxClipboard}{wxclipboard}
or a \helpref{wxDropSource}{wxdropsource} instance either directly or on-demand.
As long as only one format is offerred, putting data directly into the clipboard may
be sufficient. But imagine that you paste a large piece of text to the clipboard and
Let's assume that you have written an HTML editor and want it to paste contents
in the formats "text/plain" and "text/html" to the clipboard. For offering
-data on-demand in "text/plain" you would derive your class from \helpref{wxTextDataObject}{wxtextdataobject}
-and for offering data on-demand in "text/html" you would derive your own class from
+data on-demand in "text/plain" you would derive your class from \helpref{wxTextDataObject}{wxtextdataobject}
+and for offering data on-demand in "text/html" you would derive your own class from
\helpref{wxPrivateDataObject}{wxprivatedataobject} and set its ID string
-identifying the format to "text/html" using \helpref{wxPrivateDataObject::SetId}{wxprivatedataobjectsetid}.
+identifying the format to "text/html" using \helpref{wxPrivateDataObject::SetId}{wxprivatedataobjectsetid}.
In your two derived classed you'd then have a pointer or reference to the central
data container and you'd override the methods returning the size of the
available data and the WriteData() methods in both classes.
Creates a new tab control. By default, this returns a wxTabControl object, but the application may wish
to define a derived class, in which case the tab view should be subclassed and this function overridden.
-\membersection{wxTabView::Layout}
+\membersection{wxTabView::LayoutTabs}
-\func{void}{Layout}{\void}
+\func{void}{LayoutTabs}{\void}
Recalculates the positions of the tabs, and adjusts the layer of the selected tab if necessary.
It has to be noted that the API for drag and drop in wxWindows is not
yet finished which is mostly due to the fact that DnD support under
GTK 1.0 is very rudimentary and entirely different from the XDnD
-protocoll used by GTK 1.2. This also entails that not all of the documentation
+protocol used by GTK 1.2. This also entails that not all of the documentation
concerning DnD might be correct and some of the code might get broken
in the future. The next release of wxWindows will be based on GTK 1.2
and will hopefully include a much improved DnD support. The general
\begin{verbatim}
wxDataObject *my_data = new wxTextDataObject data("This string will be dragged.");
\end{verbatim}
-
\item{\bf Drag start:} To start dragging process (typically in response to a
mouse click) you must call \helpref{DoDragDrop}{wxdropsourcedodragdrop} function
of wxDropSource object which should be constructed like this:
wxDropSource dragSource( this );
dragSource.SetData( my_data );
\end{verbatim}
-
\item {\bf Dragging:} The call to DoDragDrop() blocks until the user release the
mouse button (unless you override \helpref{GiveFeedback}{wxdropsourcegivefeedback} function
to do something special). When the mouse moves in a window of a program which understands the
same drag-and-drop protocol (any program under Windows or any program supporting GTK 1.0
DnD protocol under X Windows), the corresponding \helpref{wxDropTarget}{wxdroptarget} methods
are called - see below.
-
\item {\bf Processing the result:} DoDragDrop() returns an {\it effect code} which
is one of the values of \helpref{wxDragResult}{wxdropsource} enum. Codes
of wxDragError, wxDragNone and wxDragCancel have the obvious meaning and mean
derive from \helpref{wxTextDropTarget}{wxtextdroptarget} or
\helpref{wxFileDropTarget}{wxfiledroptarget} and override their OnDropText()
or OnDropFiles() method.
-
\item {\bf Drop:} When the user releases the mouse over a window, wxWindows
queries the associated wxDropTarget object if it accepts the data. For
this, \helpref{GetFormatCount}{wxdroptargetgetformatcount} and \helpref{GetFormat}{wxdroptargetgetformat} are
then \helpref{OnDrop}{wxdroptargetondrop} is called.
Otherwise, wxDragNone is returned by DoDragDrop() and
nothing happens.
-
\item {\bf The end:} After processing the data, DoDragDrop() returns either
wxDragCopy or wxDragMove depending on the state of the keys (<Ctrl>, <Shift>
and <Alt>) at the moment of drop. There is currently no way for the drop
void SetDefaultCellAlignment( int horiz, int vert );
void SetCellAlignment( int row, int col, int horiz, int vert );
-
+
// ------ cell value accessors
//
wxString GetCellValue( int row, int col )
bool GetEditInPlace() { return IsCellEditControlEnabled(); }
void SetEditInPlace(bool edit = TRUE) { EnableCellEditControl( edit ); }
+ void SetCellAlignment( int align, int row, int col)
+ { SetCellAlignment(row, col, align, wxCENTER); }
+ void SetCellAlignment( int WXUNUSED(align) ) {}
+ void SetCellBitmap(wxBitmap *WXUNUSED(bitmap), int WXUNUSED(row), int WXUNUSED(col))
+ { }
+ void SetDividerPen(const wxPen& WXUNUSED(pen)) { }
+ wxPen& GetDividerPen() const { return wxNullPen; }
+ void OnActivate(bool WXUNUSED(active)) {}
// ******** End of compatibility functions **********
# Misc. compilation errors
COMPIL=1
# Need PNG
-PNGSETUP=1
+PNGSETUP=
!include $(WXDIR)\src\makemsc.env
nmake -f makefile.vc FINAL=$(FINAL)
cd $(WXDIR)\samples\controls
nmake -f makefile.vc FINAL=$(FINAL)
-!if "$(COMPIL)"==""
cd $(WXDIR)\samples\db
nmake -f makefile.vc FINAL=$(FINAL)
-!endif
cd $(WXDIR)\samples\dde
nmake -f makefile.vc FINAL=$(FINAL)
cd $(WXDIR)\samples\dialogs
nmake -f makefile.vc FINAL=$(FINAL)
cd $(WXDIR)\samples\grid
nmake -f makefile.vc FINAL=$(FINAL)
+ cd $(WXDIR)\samples\newgrid
+ nmake -f makefile.vc FINAL=$(FINAL)
!if "$(COMPIL)"==""
cd $(WXDIR)\samples\help
nmake -f makefile.vc FINAL=$(FINAL)
nmake -f makefile.vc FINAL=$(FINAL)
cd $(WXDIR)\samples\proplist
nmake -f makefile.vc FINAL=$(FINAL)
-!if "$(COMPIL)"==""
cd $(WXDIR)\samples\regtest
nmake -f makefile.vc FINAL=$(FINAL)
-!endif
cd $(WXDIR)\samples\resource
nmake -f makefile.vc FINAL=$(FINAL)
!if "$(COMPIL)"==""
nmake -f makefile.vc FINAL=$(FINAL)
cd $(WXDIR)\samples\splitter
nmake -f makefile.vc FINAL=$(FINAL)
-!if "$(COMPIL)"==""
cd $(WXDIR)\samples\tab
nmake -f makefile.vc FINAL=$(FINAL)
cd $(WXDIR)\samples\taskbar
nmake -f makefile.vc FINAL=$(FINAL)
-!endif
cd $(WXDIR)\samples\text
nmake -f makefile.vc FINAL=$(FINAL)
cd $(WXDIR)\samples\thread
nmake -f makefile.vc FINAL=$(FINAL)
cd $(WXDIR)\samples\treectrl
nmake -f makefile.vc FINAL=$(FINAL)
-!if "$(COMPIL)"==""
cd $(WXDIR)\samples\typetest
nmake -f makefile.vc FINAL=$(FINAL)
-!endif
cd $(WXDIR)\samples\validate
nmake -f makefile.vc FINAL=$(FINAL)
-!if "$(NOMAKE)"==""
cd $(WXDIR)\samples\wizard
nmake -f makefile.vc FINAL=$(FINAL)
-!endif
cd $(WXDIR)\samples\wxpoem
nmake -f makefile.vc FINAL=$(FINAL)
-!if "$(COMPIL)"==""
cd $(WXDIR)\samples\wxsocket
nmake -f makefile.vc FINAL=$(FINAL)
-!endif
clean:
cd $(WXDIR)\samples\bombs
nmake -f makefile.vc clean
cd $(WXDIR)\samples\grid
nmake -f makefile.vc clean
+ cd $(WXDIR)\samples\newgrid
+ nmake -f makefile.vc clean
cd $(WXDIR)\samples\help
nmake -f makefile.vc clean
cd $(WXDIR)\samples\html
if ( event.KeyCode() == WXK_DELETE )
DeleteSelected();
else
- wxTreeCtrl::OnChar(event);
+ event.Skip();
}
void RegTreeCtrl::OnSelChanged(wxTreeEvent& event)
m_view->SetViewRect(rect);
- m_view->Layout();
+ m_view->LayoutTabs();
// Need to do it a 2nd time to get the tab height with
// the new view width
m_view->SetViewRect(rect);
- m_view->Layout();
+ m_view->LayoutTabs();
// Move all the panels to the new view position and size
wxNode* node = m_view->GetWindows().First();