62
62
public IProgressMonitor GetRunProgressMonitor ()
64
return GetOutputProgressMonitor (GettextCatalog.GetString ("Application Output"), Stock.RunProgramIcon, true, true);
64
return GetOutputProgressMonitor ("MonoDevelop.Ide.ApplicationOutput", GettextCatalog.GetString ("Application Output"), Stock.RunProgramIcon, true, true);
67
public IProgressMonitor GetToolOutputProgressMonitor (bool bringToFront)
69
return GetOutputProgressMonitor ("MonoDevelop.Ide.ToolOutput", GettextCatalog.GetString ("Tool Output"), Stock.RunProgramIcon, bringToFront, true);
67
72
public IProgressMonitor GetLoadProgressMonitor (bool lockGui)
77
82
public IConsole CreateConsole (bool closeOnDispose)
79
return (IConsole) GetOutputProgressMonitor (GettextCatalog.GetString ("Application Output"), Stock.RunProgramIcon, true, true);
84
return (IConsole) GetOutputProgressMonitor ("MonoDevelop.Ide.ApplicationOutput", GettextCatalog.GetString ("Application Output"), Stock.RunProgramIcon, true, true);
82
87
/******************************/
105
110
public IProgressMonitor GetOutputProgressMonitor (string title, IconId icon, bool bringToFront, bool allowMonitorReuse)
107
Pad pad = CreateMonitorPad (title, icon, bringToFront, allowMonitorReuse, true);
112
return GetOutputProgressMonitor (null, title, icon, bringToFront, allowMonitorReuse);
115
public IProgressMonitor GetOutputProgressMonitor (string id, string title, IconId icon, bool bringToFront, bool allowMonitorReuse)
117
Pad pad = CreateMonitorPad (id, title, icon, bringToFront, allowMonitorReuse, true);
108
118
pad.Visible = true;
109
119
return ((DefaultMonitorPad) pad.Content).BeginProgress (title);
112
Pad CreateMonitorPad (string title, string icon, bool bringToFront, bool allowMonitorReuse, bool show)
123
/// Gets the pad that is showing the output of a progress monitor
125
/// <param name='monitor'>
129
/// For example, if you have a monitor 'm' created with a call to GetOutputProgressMonitor,
130
/// GetPadForMonitor (m) will return the output pad.
132
public Pad GetPadForMonitor (IProgressMonitor monitor)
134
foreach (Pad pad in outputMonitors) {
135
DefaultMonitorPad p = (DefaultMonitorPad) pad.Content;
136
if (p.CurrentMonitor == monitor)
142
Pad CreateMonitorPad (string id, string title, string icon, bool bringToFront, bool allowMonitorReuse, bool show)
115
145
if (icon == null)
116
146
icon = Stock.OutputIcon;
118
151
int instanceCount = -1;
119
152
if (allowMonitorReuse) {
122
155
for (int n=0; n<outputMonitors.Count; n++) {
123
156
Pad mpad = (Pad) outputMonitors [n];
124
157
DefaultMonitorPad mon = (DefaultMonitorPad) mpad.Content;
125
if (mon.TypeTag == title) {
158
if (mon.TypeTag == id) {
126
159
if (mon.InstanceNum > instanceCount)
127
160
instanceCount = mon.InstanceNum;
128
161
if (mon.AllowReuse) {
142
DefaultMonitorPad monitorPad = new DefaultMonitorPad (title, icon, instanceCount);
175
DefaultMonitorPad monitorPad = new DefaultMonitorPad (id, icon, instanceCount);
144
string newPadId = "OutputPad-" + title.Replace (' ','_') + "-" + instanceCount;
145
string basePadId = "OutputPad-" + title.Replace (' ','_') + "-0";
177
string newPadId = "OutputPad-" + id + "-" + instanceCount;
178
string basePadId = "OutputPad-" + id + "-0";
147
180
if (instanceCount > 0) {
148
181
// Translate the title before adding the count