virtual void DoScrollHorz(int dx);
+ virtual void DoSetColumnsOrder(const wxArrayInt& order);
+ virtual wxArrayInt DoGetColumnsOrder() const;
+
// override wxWindow methods which must be implemented by a new control
virtual wxSize DoGetBestSize() const;
+ virtual void DoSetSize(int x, int y,
+ int width, int height,
+ int sizeFlags = wxSIZE_AUTO);
// override MSW-specific methods needed for new control
virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const;
+ virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result);
// common part of all ctors
void Init();
- // wrapper around Header_{Set,Insert}Item(): either appends the item to the
- // end or modifies the existing item by copying information from
- // GetColumn(idx) to it
- enum Operation { Set, Insert };
- void DoSetOrInsertItem(Operation oper, unsigned int idx);
+ // wrapper around Header_InsertItem(): insert the item by using information
+ // from GetColumn(idx) and at the given display position if order != -1
+ void DoInsertItem(unsigned int idx, int order);
+
+ // get the event type corresponding to a click or double click event
+ // (depending on dblclk value) with the specified (using MSW convention)
+ // mouse button
+ wxEventType GetClickEventType(bool dblclk, int button);
// the image list: initially NULL, created on demand
wxImageList *m_imageList;
+ // the offset of the window used to emulate scrolling it
+ int m_scrollOffset;
+
DECLARE_NO_COPY_CLASS(wxHeaderCtrl)
};