]> git.saurik.com Git - wxWidgets.git/blame - src/generic/textdlgg.cpp
Fixed bug with disappearing menus. They were
[wxWidgets.git] / src / generic / textdlgg.cpp
CommitLineData
c801d85f
KB
1/////////////////////////////////////////////////////////////////////////////
2// Name: textdlgg.cpp
3// Purpose: wxTextEntryDialog
4// Author: Julian Smart
5// Modified by:
6// Created: 04/01/98
7// RCS-ID: $Id$
8// Copyright: (c) Julian Smart and Markus Holzem
c50f1fb9 9// Licence: wxWindows license
c801d85f
KB
10/////////////////////////////////////////////////////////////////////////////
11
c50f1fb9
VZ
12// ============================================================================
13// declarations
14// ============================================================================
15
16// ----------------------------------------------------------------------------
17// headers
18// ----------------------------------------------------------------------------
19
c801d85f 20#ifdef __GNUG__
c50f1fb9 21 #pragma implementation "textdlgg.h"
c801d85f
KB
22#endif
23
24// For compilers that support precompilation, includes "wx.h".
25#include "wx/wxprec.h"
26
27#ifdef __BORLANDC__
c50f1fb9 28 #pragma hdrstop
c801d85f
KB
29#endif
30
1e6feb95
VZ
31#if wxUSE_TEXTDLG
32
c801d85f 33#ifndef WX_PRECOMP
c50f1fb9
VZ
34 #include <stdio.h>
35
36 #include "wx/utils.h"
37 #include "wx/dialog.h"
38 #include "wx/button.h"
39 #include "wx/stattext.h"
40 #include "wx/textctrl.h"
41 #include "wx/intl.h"
92afa2b1 42 #include "wx/sizer.h"
dcf924a3
RR
43#endif
44
45#if wxUSE_STATLINE
c50f1fb9 46 #include "wx/statline.h"
c801d85f
KB
47#endif
48
49#include "wx/generic/textdlgg.h"
50
c50f1fb9
VZ
51// ----------------------------------------------------------------------------
52// constants
53// ----------------------------------------------------------------------------
54
c49245f8 55static const int wxID_TEXT = 3000;
dcf924a3 56
c50f1fb9
VZ
57// ============================================================================
58// implementation
59// ============================================================================
60
61// ----------------------------------------------------------------------------
c801d85f 62// wxTextEntryDialog
c50f1fb9 63// ----------------------------------------------------------------------------
c801d85f 64
c801d85f 65BEGIN_EVENT_TABLE(wxTextEntryDialog, wxDialog)
c50f1fb9 66 EVT_BUTTON(wxID_OK, wxTextEntryDialog::OnOK)
c801d85f
KB
67END_EVENT_TABLE()
68
69IMPLEMENT_CLASS(wxTextEntryDialog, wxDialog)
c801d85f 70
c50f1fb9
VZ
71wxTextEntryDialog::wxTextEntryDialog(wxWindow *parent,
72 const wxString& message,
73 const wxString& caption,
74 const wxString& value,
75 long style,
76 const wxPoint& pos)
77 : wxDialog(parent, -1, caption, pos, wxDefaultSize,
78 wxDEFAULT_DIALOG_STYLE | wxDIALOG_MODAL),
79 m_value(value)
c801d85f 80{
92afa2b1
RR
81 m_dialogStyle = style;
82 m_value = value;
83
84 wxBeginBusyCursor();
479cd5de 85
92afa2b1
RR
86 wxBoxSizer *topsizer = new wxBoxSizer( wxVERTICAL );
87
88 // 1) text message
89 topsizer->Add( CreateTextSizer( message ), 0, wxALL, 10 );
479cd5de 90
92afa2b1 91 // 2) text ctrl
a294c6d5
VZ
92 m_textctrl = new wxTextCtrl(this, wxID_TEXT, value,
93 wxDefaultPosition, wxSize(300, -1),
94 style & ~wxTextEntryDialogStyle);
92afa2b1
RR
95 topsizer->Add( m_textctrl, 1, wxEXPAND | wxLEFT|wxRIGHT, 15 );
96
97#if wxUSE_STATLINE
98 // 3) static line
99 topsizer->Add( new wxStaticLine( this, -1 ), 0, wxEXPAND | wxLEFT|wxRIGHT|wxTOP, 10 );
100#endif
101
102 // 4) buttons
103 topsizer->Add( CreateButtonSizer( style ), 0, wxCENTRE | wxALL, 10 );
479cd5de 104
8b17ba72
RR
105 SetAutoLayout( TRUE );
106 SetSizer( topsizer );
479cd5de 107
92afa2b1
RR
108 topsizer->SetSizeHints( this );
109 topsizer->Fit( this );
92afa2b1
RR
110
111 Centre( wxBOTH );
c801d85f 112
c50f1fb9 113 m_textctrl->SetFocus();
92afa2b1
RR
114
115 wxEndBusyCursor();
c801d85f
KB
116}
117
118void wxTextEntryDialog::OnOK(wxCommandEvent& WXUNUSED(event) )
119{
c50f1fb9 120 m_value = m_textctrl->GetValue();
c801d85f 121
c50f1fb9 122 EndModal(wxID_OK);
c801d85f 123}
1e6feb95
VZ
124
125#endif // wxUSE_TEXTDLG