\input sashwin.tex
\input screendc.tex
\input scrolbar.tex
+\input scrlwevt.tex
\input scrolevt.tex
\input scrolwin.tex
\input sngchdlg.tex
\membersection{wxWindow::OnScroll}\label{wxwindowonscroll}
-\func{void}{OnScroll}{\param{wxScrollEvent\& }{event}}
+\func{void}{OnScroll}{\param{wxScrollWinEvent\& }{event}}
-Called when a scroll event is received from one of the window's built-in scrollbars.
+Called when a scroll window event is received from one of the window's built-in scrollbars.
\wxheading{Parameters}
\wxheading{See also}
-\helpref{wxScrollEvent}{wxscrollevent},\rtfsp
+\helpref{wxScrollWinEvent}{wxscrollwinevent},\rtfsp
\helpref{Event handling overview}{eventhandlingoverview}
\membersection{wxWindow::OnSetFocus}\label{wxwindowonsetfocus}
bool *m_accept;
wxString *m_res;
wxListMainWindow *m_owner;
+ wxString m_startValue;
public:
wxListTextCtrl(void) {};
void DeselectLine( wxListLineData *line );
void DeleteLine( wxListLineData *line );
- wxTextCtrl *EditLabel( long item );
- void Edit( long item ) { (void)EditLabel(item); } // deprecated
+ void EditLabel( long item );
+ void Edit( long item ) { EditLabel(item); } // deprecated
void OnRenameTimer();
void OnRenameAccept();
private:
bool *m_accept;
wxString *m_res;
- wxTreeCtrl *m_owner;
+ wxTreeCtrl *m_owner;
+ wxString m_startValue;
public:
wxTreeTextCtrl(void) {};
#include "wx/object.h"
#include "wx/string.h"
#include "wx/gdicmn.h"
+#include "wx/frame.h"
#if wxUSE_HELP
m_res = res;
m_accept = accept;
m_owner = owner;
+ (*m_accept) = FALSE;
+ (*m_res) = "";
+ m_startValue = value;
}
void wxListTextCtrl::OnChar( wxKeyEvent &event )
{
(*m_accept) = TRUE;
(*m_res) = GetValue();
- m_owner->OnRenameAccept();
- if (!wxPendingDelete.Member(this)) wxPendingDelete.Append(this);
+ m_owner->SetFocus();
return;
}
if (event.m_keyCode == WXK_ESCAPE)
{
(*m_accept) = FALSE;
(*m_res) = "";
- if (!wxPendingDelete.Member(this)) wxPendingDelete.Append(this);
+ m_owner->SetFocus();
return;
}
event.Skip();
void wxListTextCtrl::OnKillFocus( wxFocusEvent &WXUNUSED(event) )
{
- (*m_accept) = FALSE;
- (*m_res) = "";
- if (!wxPendingDelete.Member(this)) wxPendingDelete.Append(this);
- return;
+ if (wxPendingDelete.Member(this)) return;
+
+ wxPendingDelete.Append(this);
+
+ if ((*m_accept) && ((*m_res) != m_startValue))
+ m_owner->OnRenameAccept();
}
//-----------------------------------------------------------------------------
/* *** */
-wxTextCtrl *wxListMainWindow::EditLabel( long item )
+void wxListMainWindow::EditLabel( long item )
{
wxNode *node = m_lines.Nth( item );
wxCHECK_MSG( node, (wxTextCtrl *)NULL, _T("wrong index in wxListCtrl::Edit()") );
GetParent()->GetEventHandler()->ProcessEvent( le );
if (!le.IsAllowed())
- return (wxTextCtrl *)NULL;
+ return;
wxString s;
m_currentEdit->GetText( 0, s );
wxListTextCtrl *text = new wxListTextCtrl(
this, -1, &m_renameAccept, &m_renameRes, this, s, wxPoint(x-4,y-4), wxSize(w+11,h+8) );
text->SetFocus();
-
- return text;
}
void wxListMainWindow::OnRenameTimer()
if (!le.IsAllowed()) return;
- /* DO CHANGE LABEL */
+ wxListItem info;
+ info.m_mask = wxLIST_MASK_TEXT;
+ info.m_itemId = le.m_itemIndex;
+ info.m_text = m_renameRes;
+ SetItem( info );
}
void wxListMainWindow::OnMouse( wxMouseEvent &event )
m_res = res;
m_accept = accept;
m_owner = owner;
+ (*m_accept) = FALSE;
+ (*m_res) = "";
+ m_startValue = value;
}
void wxTreeTextCtrl::OnChar( wxKeyEvent &event )
{
(*m_accept) = TRUE;
(*m_res) = GetValue();
- m_owner->OnRenameAccept();
- if (!wxPendingDelete.Member(this)) wxPendingDelete.Append(this);
+ m_owner->SetFocus();
return;
}
if (event.m_keyCode == WXK_ESCAPE)
{
(*m_accept) = FALSE;
(*m_res) = "";
- if (!wxPendingDelete.Member(this)) wxPendingDelete.Append(this);
+ m_owner->SetFocus();
return;
}
event.Skip();
void wxTreeTextCtrl::OnKillFocus( wxFocusEvent &WXUNUSED(event) )
{
- (*m_accept) = FALSE;
- (*m_res) = "";
- if (!wxPendingDelete.Member(this)) wxPendingDelete.Append(this);
+ if (wxPendingDelete.Member(this)) return;
+
+ wxPendingDelete.Append(this);
+
+ if ((*m_accept) && ((*m_res) != m_startValue))
+ m_owner->OnRenameAccept();
}
#define PIXELS_PER_UNIT 10
int y = m_currentEdit->GetY();
int w = m_currentEdit->GetWidth();
int h = m_currentEdit->GetHeight();
+
+ int image_h = 0;
+ int image_w = 0;
+ if ((m_currentEdit->IsExpanded()) && (m_currentEdit->GetSelectedImage() != -1))
+ {
+ m_imageListNormal->GetSize( m_currentEdit->GetSelectedImage(), image_w, image_h );
+ image_w += 4;
+ }
+ else if (m_currentEdit->GetImage() != -1)
+ {
+ m_imageListNormal->GetSize( m_currentEdit->GetImage(), image_w, image_h );
+ image_w += 4;
+ }
+ x += image_w;
+ w -= image_w + 4; // I don't know why +4 is needed
wxClientDC dc(this);
PrepareDC( dc );
if (!le.IsAllowed()) return;
- /* DO CHANGE LABEL */
+ SetItemText( m_currentEdit, m_renameRes );
}
void wxTreeCtrl::OnMouse( wxMouseEvent &event )
{
}
+void GSocket_Done()
+{
+}
+
/* Constructors / Destructors */
GSocket *GSocket_new()