summaryrefslogtreecommitdiff
path: root/LiteEditor/shelltab.h
blob: eac4a6913896a4934de7ed08a1adadf037e8dc21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
//
// copyright            : (C) 2008 by Eran Ifrah
// file name            : shelltab.h
//
// -------------------------------------------------------------------------
// A
//              _____           _      _     _ _
//             /  __ \         | |    | |   (_) |
//             | /  \/ ___   __| | ___| |    _| |_ ___
//             | |    / _ \ / _  |/ _ \ |   | | __/ _ )
//             | \__/\ (_) | (_| |  __/ |___| | ||  __/
//              \____/\___/ \__,_|\___\_____/_|\__\___|
//
//                                                  F i l e
//
//    This program is free software; you can redistribute it and/or modify
//    it under the terms of the GNU General Public License as published by
//    the Free Software Foundation; either version 2 of the License, or
//    (at your option) any later version.
//
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
#ifndef SHELLTAB_H
#define SHELLTAB_H

#include "outputtabwindow.h"

class AsyncExeCmd;
class QuickFindBar;


class ShellTab : public OutputTabWindow
{
protected:
	wxSizer      *m_inputSizer;
	wxSizer      *m_vertSizer;
	wxComboBox   *m_input;
	QuickFindBar *m_findBar;
	AsyncExeCmd  *m_cmd;

	static  void InitStyle    (wxScintilla *sci);

	virtual bool DoSendInput  (const wxString &line);

	virtual void OnProcStarted(wxCommandEvent  &e);
	virtual void OnProcOutput (wxCommandEvent  &e);
	virtual void OnProcError  (wxCommandEvent  &e);
	virtual void OnProcEnded  (wxCommandEvent  &e);

	virtual void OnShowInput  (wxCommandEvent  &e);
	virtual void OnShowSearch (wxCommandEvent  &e);
	virtual void OnSendInput  (wxCommandEvent  &e);
	virtual void OnStopProc   (wxCommandEvent  &e);
	virtual void OnKeyDown    (wxKeyEvent      &e);
	virtual void OnEnter	  (wxCommandEvent  &e);
	virtual void OnUpdateUI   (wxUpdateUIEvent &e);

	DECLARE_EVENT_TABLE()

public:
	ShellTab(wxWindow *parent, wxWindowID id, const wxString &name);
	~ShellTab();
};


class DebugTab : public ShellTab
{
protected:
	bool DoSendInput(const wxString  &line);
	void OnStopProc (wxCommandEvent  &e);
	void OnUpdateUI (wxUpdateUIEvent &e);

public:
	DebugTab(wxWindow *parent, wxWindowID id, const wxString &name);
	~DebugTab();

	void AppendLine(const wxString &line);
};

class DebugTabPanel : public wxPanel
{
private:

protected:
	wxCheckBox* m_checkBoxEnableLog;

	// Virtual event handlers, overide them in your derived class
	virtual void OnEnableDbgLog( wxCommandEvent& event );
	virtual void OnEnableDbgLogUI( wxUpdateUIEvent& event );
public:

	DebugTabPanel( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 500,300 ), long style = wxTAB_TRAVERSAL );
	~DebugTabPanel();
};
#endif //SHELLTAB_H