1
/***************************************************************************
2
* Copyright (c) 2002 Jļæ½rgen Riegel <juergen.riegel@web.de> *
4
* This file is part of the FreeCAD CAx development system. *
6
* This library is free software; you can redistribute it and/or *
7
* modify it under the terms of the GNU Library General Public *
8
* License as published by the Free Software Foundation; either *
9
* version 2 of the License, or (at your option) any later version. *
11
* This library is distributed in the hope that it will be useful, *
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14
* GNU Library General Public License for more details. *
16
* You should have received a copy of the GNU Library General Public *
17
* License along with this library; see the file COPYING.LIB. If not, *
18
* write to the Free Software Foundation, Inc., 59 Temple Place, *
19
* Suite 330, Boston, MA 02111-1307, USA *
21
***************************************************************************/
24
#include "PreCompiled.h"
27
#include <Base/Exception.h>
28
#include <Base/Interpreter.h>
29
#include <Base/Sequencer.h>
30
#include <App/Document.h>
31
#include <App/DocumentObjectGroup.h>
32
#include <App/Feature.h>
35
#include "Application.h"
38
#include "FileDialog.h"
39
#include "MainWindow.h"
40
#include "BitmapFactory.h"
41
#include "Selection.h"
42
#include "DlgProjectInformationImp.h"
44
using Base::Sequencer;
48
//===========================================================================
50
//===========================================================================
52
DEF_STD_CMD(StdCmdOpen);
54
StdCmdOpen::StdCmdOpen()
58
sGroup = QT_TR_NOOP("File");
59
sMenuText = QT_TR_NOOP("&Open...");
60
sToolTipText = QT_TR_NOOP("Open a document or import files");
61
sWhatsThis = "Std_Open";
62
sStatusTip = QT_TR_NOOP("Open a document or import files");
63
sPixmap = "document-open";
64
iAccel = Qt::CTRL+Qt::Key_O;
67
void StdCmdOpen::activated(int iMsg)
69
// fill the list of registered endings
71
const char* supported = QT_TR_NOOP("Supported formats");
72
const char* allFiles = QT_TR_NOOP("All files (*.*)");
73
formatList = QObject::tr(supported);
74
formatList += QLatin1String(" (");
76
std::vector<std::string> filetypes = App::GetApplication().getImportTypes();
77
std::vector<std::string>::iterator it;
78
// Make sure FCStd is the very first fileformat
79
it = std::find(filetypes.begin(), filetypes.end(), "FCStd");
80
if (it != filetypes.end()) {
82
filetypes.insert(filetypes.begin(), "FCStd");
84
for (it=filetypes.begin();it != filetypes.end();++it) {
85
formatList += QLatin1String(" *.");
86
formatList += QLatin1String(it->c_str());
89
formatList += QLatin1String(");;");
91
std::map<std::string, std::string> FilterList = App::GetApplication().getImportFilters();
92
std::map<std::string, std::string>::iterator jt;
93
// Make sure the format name for FCStd is the very first in the list
94
for (jt=FilterList.begin();jt != FilterList.end();++jt) {
95
if (jt->first.find("*.FCStd") != std::string::npos) {
96
formatList += QLatin1String(jt->first.c_str());
97
formatList += QLatin1String(";;");
102
for (jt=FilterList.begin();jt != FilterList.end();++jt) {
103
formatList += QLatin1String(jt->first.c_str());
104
formatList += QLatin1String(";;");
106
formatList += QObject::tr(allFiles);
108
QString selectedFilter;
109
QStringList fileList = FileDialog::getOpenFileNames(getMainWindow(),
110
QObject::tr("Open document"), QString(), formatList, &selectedFilter);
111
// load the files with the associated modules
112
SelectModule::Dict dict = SelectModule::importHandler(fileList, selectedFilter);
113
for (SelectModule::Dict::iterator it = dict.begin(); it != dict.end(); ++it) {
114
getGuiApplication()->open(it.key().toUtf8(), it.value().toAscii());
118
//===========================================================================
120
//===========================================================================
122
DEF_STD_CMD_A(StdCmdImport);
124
StdCmdImport::StdCmdImport()
125
: Command("Std_Import")
128
sGroup = QT_TR_NOOP("File");
129
sMenuText = QT_TR_NOOP("&Import...");
130
sToolTipText = QT_TR_NOOP("Import a file in the active document");
131
sWhatsThis = "Std_Import";
132
sStatusTip = QT_TR_NOOP("Import a file in the active document");
134
iAccel = Qt::CTRL+Qt::Key_I;
137
void StdCmdImport::activated(int iMsg)
139
// fill the list of registered endings
141
const char* supported = QT_TR_NOOP("Supported formats");
142
const char* allFiles = QT_TR_NOOP("All files (*.*)");
143
formatList = QObject::tr(supported);
144
formatList += QLatin1String(" (");
146
std::vector<std::string> filetypes = App::GetApplication().getImportTypes();
147
std::vector<std::string>::const_iterator it;
148
for (it=filetypes.begin();it != filetypes.end();++it) {
149
if (*it != "FCStd") {
150
// ignore the project file format
151
formatList += QLatin1String(" *.");
152
formatList += QLatin1String(it->c_str());
156
formatList += QLatin1String(");;");
158
std::map<std::string, std::string> FilterList = App::GetApplication().getImportFilters();
159
std::map<std::string, std::string>::const_iterator jt;
160
for (jt=FilterList.begin();jt != FilterList.end();++jt) {
161
// ignore the project file format
162
if (jt->first.find("(*.FCStd)") == std::string::npos) {
163
formatList += QLatin1String(jt->first.c_str());
164
formatList += QLatin1String(";;");
167
formatList += QObject::tr(allFiles);
169
QString selectedFilter;
170
QStringList fileList = FileDialog::getOpenFileNames(getMainWindow(),
171
QObject::tr("Import file"), QString(), formatList, &selectedFilter);
172
SelectModule::Dict dict = SelectModule::importHandler(fileList, selectedFilter);
173
// load the files with the associated modules
174
for (SelectModule::Dict::iterator it = dict.begin(); it != dict.end(); ++it) {
175
getGuiApplication()->importFrom(it.key().toUtf8(),
176
getActiveGuiDocument()->getDocument()->getName(),
177
it.value().toAscii());
181
bool StdCmdImport::isActive(void)
183
return ( getActiveGuiDocument() ? true : false );
187
//===========================================================================
189
//===========================================================================
191
DEF_STD_CMD_A(StdCmdExport);
193
StdCmdExport::StdCmdExport()
194
: Command("Std_Export")
197
sGroup = QT_TR_NOOP("File");
198
sMenuText = QT_TR_NOOP("&Export...");
199
sToolTipText = QT_TR_NOOP("Export an object in the active document");
200
sWhatsThis = "Std_Export";
201
sStatusTip = QT_TR_NOOP("Export an object in the active document");
203
iAccel = Qt::CTRL+Qt::Key_E;
206
void StdCmdExport::activated(int iMsg)
208
// fill the list of registered endings
210
const char* supported = QT_TR_NOOP("Supported formats");
211
formatList = QObject::tr(supported);
212
formatList += QLatin1String(" (");
214
std::vector<std::string> filetypes = App::GetApplication().getExportTypes();
215
std::vector<std::string>::const_iterator it;
216
for (it=filetypes.begin();it != filetypes.end();++it) {
217
if (*it != "FCStd") {
218
// ignore the project file format
219
formatList += QLatin1String(" *.");
220
formatList += QLatin1String(it->c_str());
224
formatList += QLatin1String(");;");
226
std::map<std::string, std::string> FilterList = App::GetApplication().getExportFilters();
227
std::map<std::string, std::string>::const_iterator jt;
228
for (jt=FilterList.begin();jt != FilterList.end();++jt) {
229
// ignore the project file format
230
if (jt->first.find("(*.FCStd)") == std::string::npos) {
231
formatList += QLatin1String(jt->first.c_str());
232
formatList += QLatin1String(";;");
236
QString selectedFilter;
237
QString fileName = FileDialog::getSaveFileName(getMainWindow(),
238
QObject::tr("Export file"), QString(), formatList, &selectedFilter);
239
if (!fileName.isEmpty()) {
240
SelectModule::Dict dict = SelectModule::exportHandler(fileName, selectedFilter);
241
// export the files with the associated modules
242
for (SelectModule::Dict::iterator it = dict.begin(); it != dict.end(); ++it) {
243
getGuiApplication()->exportTo(it.key().toUtf8(),
244
getActiveGuiDocument()->getDocument()->getName(),
245
it.value().toAscii());
250
bool StdCmdExport::isActive(void)
252
return (getActiveGuiDocument() ? true : false);
255
//===========================================================================
257
//===========================================================================
259
DEF_STD_CMD(StdCmdNew);
261
StdCmdNew::StdCmdNew()
264
sGroup = QT_TR_NOOP("File");
265
sMenuText = QT_TR_NOOP("&New");
266
sToolTipText = QT_TR_NOOP("Create a new empty Document");
267
sWhatsThis = "Std_New";
268
sStatusTip = QT_TR_NOOP("Create a new empty Document");
269
sPixmap = "document-new";
270
iAccel = Qt::CTRL+Qt::Key_N;
273
void StdCmdNew::activated(int iMsg)
275
doCommand(Command::Doc,"App.newDocument()");
278
//===========================================================================
280
//===========================================================================
281
DEF_STD_CMD_A(StdCmdSave);
283
StdCmdSave::StdCmdSave()
286
sGroup = QT_TR_NOOP("File");
287
sMenuText = QT_TR_NOOP("&Save");
288
sToolTipText = QT_TR_NOOP("Save the active document");
289
sWhatsThis = "Std_Save";
290
sStatusTip = QT_TR_NOOP("Save the active document");
291
sPixmap = "document-save";
292
iAccel = Qt::CTRL+Qt::Key_S;
295
void StdCmdSave::activated(int iMsg)
298
Gui::Document* pActiveDoc = getActiveGuiDocument();
303
doCommand(Command::Gui,"Gui.SendMsgToActiveView(\"Save\")");
306
bool StdCmdSave::isActive(void)
309
if( getActiveGuiDocument() )
313
return getGuiApplication()->sendHasMsgToActiveView("Save");
316
//===========================================================================
318
//===========================================================================
319
DEF_STD_CMD_A(StdCmdSaveAs);
321
StdCmdSaveAs::StdCmdSaveAs()
322
:Command("Std_SaveAs")
324
sGroup = QT_TR_NOOP("File");
325
sMenuText = QT_TR_NOOP("Save &As...");
326
sToolTipText = QT_TR_NOOP("Save the active document under a new file name");
327
sWhatsThis = "Std_SaveAs";
328
sStatusTip = QT_TR_NOOP("Save the active document under a new file name");
329
#if QT_VERSION >= 0x040200
330
sPixmap = "document-save-as";
335
void StdCmdSaveAs::activated(int iMsg)
338
Gui::Document* pActiveDoc = getActiveGuiDocument();
340
pActiveDoc->saveAs();
343
doCommand(Command::Gui,"Gui.SendMsgToActiveView(\"SaveAs\")");
346
bool StdCmdSaveAs::isActive(void)
349
if( getActiveGuiDocument() )
353
return getGuiApplication()->sendHasMsgToActiveView("SaveAs");
356
//===========================================================================
358
//===========================================================================
360
DEF_STD_CMD_A(StdCmdProjectInfo);
362
StdCmdProjectInfo::StdCmdProjectInfo()
363
:Command("Std_ProjectInfo")
366
sGroup = QT_TR_NOOP("File");
367
sMenuText = QT_TR_NOOP("Project i&nformation...");
368
sToolTipText = QT_TR_NOOP("Show details of the currently active project");
369
sWhatsThis = "Std_ProjectInfo";
370
sStatusTip = QT_TR_NOOP("Show details of the currently active project");
371
#if QT_VERSION >= 0x040200
372
sPixmap = "document-properties";
376
void StdCmdProjectInfo::activated(int iMsg)
378
Gui::Dialog::DlgProjectInformationImp dlg(getActiveGuiDocument()->getDocument(), getMainWindow());
382
bool StdCmdProjectInfo::isActive(void)
384
return ( getActiveGuiDocument() ? true : false );
387
//===========================================================================
389
//===========================================================================
390
DEF_STD_CMD_A(StdCmdPrint );
392
StdCmdPrint::StdCmdPrint()
393
:Command("Std_Print")
395
sGroup = QT_TR_NOOP("File");
396
sMenuText = QT_TR_NOOP("&Print...");
397
sToolTipText = QT_TR_NOOP("Print the document");
398
sWhatsThis = "Std_Print";
399
sStatusTip = QT_TR_NOOP("Print the document");
400
sPixmap = "document-print";
401
iAccel = Qt::CTRL+Qt::Key_P;;
404
void StdCmdPrint::activated(int iMsg)
406
if ( getMainWindow()->activeWindow() )
408
getMainWindow()->statusBar()->showMessage(QObject::tr("Printing..."));
409
getMainWindow()->activeWindow()->print();
413
bool StdCmdPrint::isActive(void)
415
return getGuiApplication()->sendHasMsgToActiveView("Print");
418
//===========================================================================
420
//===========================================================================
421
DEF_STD_CMD_A(StdCmdPrintPdf);
423
StdCmdPrintPdf::StdCmdPrintPdf()
424
:Command("Std_PrintPdf")
426
sGroup = QT_TR_NOOP("File");
427
sMenuText = QT_TR_NOOP("&Export PDF...");
428
sToolTipText = QT_TR_NOOP("Export the document as PDF");
429
sWhatsThis = "Std_PrintPdf";
430
sStatusTip = QT_TR_NOOP("Export the document as PDF");
433
void StdCmdPrintPdf::activated(int iMsg)
435
if ( getMainWindow()->activeWindow() )
437
getMainWindow()->statusBar()->showMessage(QLatin1String("Exporting PDF..."));
438
getMainWindow()->activeWindow()->printPdf();
442
bool StdCmdPrintPdf::isActive(void)
444
return getGuiApplication()->sendHasMsgToActiveView("PrintPdf");
447
//===========================================================================
449
//===========================================================================
451
DEF_STD_CMD(StdCmdQuit );
453
StdCmdQuit::StdCmdQuit()
456
sGroup = QT_TR_NOOP("File");
457
sMenuText = QT_TR_NOOP("E&xit");
458
sToolTipText = QT_TR_NOOP("Quits the application");
459
sWhatsThis = "Std_Quit";
460
sStatusTip = QT_TR_NOOP("Quits the application");
461
#if QT_VERSION >= 0x040200
462
sPixmap = "system-log-out";
464
iAccel = Qt::ALT+Qt::Key_F4;
467
void StdCmdQuit::activated(int iMsg)
469
// close the main window and exit the event loop
470
if (getMainWindow()->close())
474
//===========================================================================
476
//===========================================================================
478
DEF_STD_CMD_AC(StdCmdUndo);
480
StdCmdUndo::StdCmdUndo()
483
sGroup = QT_TR_NOOP("Edit");
484
sMenuText = QT_TR_NOOP("&Undo");
485
sToolTipText = QT_TR_NOOP("Undo exactly one action");
486
sWhatsThis = "Std_Undo";
487
sStatusTip = QT_TR_NOOP("Undo exactly one action");
488
sPixmap = "edit-undo";
489
iAccel = Qt::CTRL+Qt::Key_Z;
492
void StdCmdUndo::activated(int iMsg)
494
// Application::Instance->slotUndo();
495
getGuiApplication()->sendMsgToActiveView("Undo");
498
bool StdCmdUndo::isActive(void)
500
return getGuiApplication()->sendHasMsgToActiveView("Undo");
503
Action * StdCmdUndo::createAction(void)
507
pcAction = new UndoAction(this,getMainWindow());
508
pcAction->setText(QObject::tr(sMenuText));
509
pcAction->setToolTip(QObject::tr(sToolTipText));
510
pcAction->setStatusTip(QObject::tr(sStatusTip));
511
pcAction->setWhatsThis(QObject::tr(sWhatsThis));
513
pcAction->setIcon(Gui::BitmapFactory().pixmap(sPixmap));
514
pcAction->setShortcut(iAccel);
519
//===========================================================================
521
//===========================================================================
523
DEF_STD_CMD_AC(StdCmdRedo );
525
StdCmdRedo::StdCmdRedo()
528
sGroup = QT_TR_NOOP("Edit");
529
sMenuText = QT_TR_NOOP("&Redo");
530
sToolTipText = QT_TR_NOOP("Redoes a previously undone action");
531
sWhatsThis = "Std_Redo";
532
sStatusTip = QT_TR_NOOP("Redoes a previously undone action");
533
sPixmap = "edit-redo";
534
iAccel = Qt::CTRL+Qt::Key_Y;
537
void StdCmdRedo::activated(int iMsg)
539
// Application::Instance->slotRedo();
540
getGuiApplication()->sendMsgToActiveView("Redo");
543
bool StdCmdRedo::isActive(void)
545
return getGuiApplication()->sendHasMsgToActiveView("Redo");
548
Action * StdCmdRedo::createAction(void)
552
pcAction = new RedoAction(this,getMainWindow());
553
pcAction->setText(QObject::tr(sMenuText));
554
pcAction->setToolTip(QObject::tr(sToolTipText));
555
pcAction->setStatusTip(QObject::tr(sStatusTip));
556
pcAction->setWhatsThis(QObject::tr(sWhatsThis));
558
pcAction->setIcon(Gui::BitmapFactory().pixmap(sPixmap));
559
pcAction->setShortcut(iAccel);
564
//===========================================================================
566
//===========================================================================
567
DEF_STD_CMD_A(StdCmdCut);
569
StdCmdCut::StdCmdCut()
572
sGroup = QT_TR_NOOP("Edit");
573
sMenuText = QT_TR_NOOP("&Cut");
574
sToolTipText = QT_TR_NOOP("Cut out");
575
sWhatsThis = "Std_Cut";
576
sStatusTip = QT_TR_NOOP("Cut out");
577
sPixmap = "edit-cut";
578
iAccel = Qt::CTRL+Qt::Key_X;
581
void StdCmdCut::activated(int iMsg)
583
getGuiApplication()->sendMsgToActiveView("Cut");
586
bool StdCmdCut::isActive(void)
588
return getGuiApplication()->sendHasMsgToActiveView("Cut");
591
//===========================================================================
593
//===========================================================================
594
DEF_STD_CMD_A(StdCmdCopy);
596
StdCmdCopy::StdCmdCopy()
599
sGroup = QT_TR_NOOP("Edit");
600
sMenuText = QT_TR_NOOP("C&opy");
601
sToolTipText = QT_TR_NOOP("Copy operation");
602
sWhatsThis = "Std_Copy";
603
sStatusTip = QT_TR_NOOP("Copy operation");
604
sPixmap = "edit-copy";
605
iAccel = Qt::CTRL+Qt::Key_C;
608
void StdCmdCopy::activated(int iMsg)
610
getGuiApplication()->sendMsgToActiveView("Copy");
613
bool StdCmdCopy::isActive(void)
615
return getGuiApplication()->sendHasMsgToActiveView("Copy");
618
//===========================================================================
620
//===========================================================================
621
DEF_STD_CMD_A(StdCmdPaste);
623
StdCmdPaste::StdCmdPaste()
624
:Command("Std_Paste")
626
sGroup = QT_TR_NOOP("Edit");
627
sMenuText = QT_TR_NOOP("&Paste");
628
sToolTipText = QT_TR_NOOP("Paste operation");
629
sWhatsThis = "Std_Paste";
630
sStatusTip = QT_TR_NOOP("Paste operation");
631
sPixmap = "edit-paste";
632
iAccel = Qt::CTRL+Qt::Key_V;
635
void StdCmdPaste::activated(int iMsg)
637
getGuiApplication()->sendMsgToActiveView("Paste");
640
bool StdCmdPaste::isActive(void)
642
return getGuiApplication()->sendHasMsgToActiveView("Paste");
645
//===========================================================================
647
//===========================================================================
649
DEF_STD_CMD_A(StdCmdSelectAll);
651
StdCmdSelectAll::StdCmdSelectAll()
652
: Command("Std_SelectAll")
654
sGroup = QT_TR_NOOP("Edit");
655
sMenuText = QT_TR_NOOP("Select &All");
656
sToolTipText = QT_TR_NOOP("Select all");
657
sWhatsThis = "Std_SelectAll";
658
sStatusTip = QT_TR_NOOP("Select all");
659
#if QT_VERSION >= 0x040200
660
sPixmap = "edit-select-all";
662
//iAccel = Qt::CTRL+Qt::Key_A; // superseeds shortcuts for text edits
665
void StdCmdSelectAll::activated(int iMsg)
667
SelectionSingleton& rSel = Selection();
668
App::Document* doc = App::GetApplication().getActiveDocument();
669
std::vector<App::DocumentObject*> objs = doc->getObjectsOfType(App::DocumentObject::getClassTypeId());
670
for(std::vector<App::DocumentObject*>::const_iterator it=objs.begin();it!=objs.end();++it) {
671
if (!rSel.isSelected(doc->getName(), (*it)->getNameInDocument()))
672
rSel.addSelection(doc->getName(), (*it)->getNameInDocument());
676
bool StdCmdSelectAll::isActive(void)
678
return App::GetApplication().getActiveDocument() != 0;
681
//===========================================================================
683
//===========================================================================
684
DEF_STD_CMD_A(StdCmdDelete);
686
StdCmdDelete::StdCmdDelete()
687
:Command("Std_Delete")
689
sGroup = QT_TR_NOOP("Edit");
690
sMenuText = QT_TR_NOOP("&Delete");
691
sToolTipText = QT_TR_NOOP("Deletes the selected objects");
692
sWhatsThis = "Std_Delete";
693
sStatusTip = QT_TR_NOOP("Deletes the selected objects");
694
#if QT_VERSION >= 0x040200
695
sPixmap = "edit-delete";
697
iAccel = Qt::Key_Delete;
700
void StdCmdDelete::activated(int iMsg)
702
// go through all documents
703
const SelectionSingleton& rSel = Selection();
704
const std::vector<App::Document*> docs = App::GetApplication().getDocuments();
705
for ( std::vector<App::Document*>::const_iterator it = docs.begin(); it != docs.end(); ++it ) {
706
const std::vector<App::DocumentObject*> sel = rSel.getObjectsOfType(App::DocumentObject::getClassTypeId(), (*it)->getName());
708
(*it)->openTransaction("Delete");
709
for(std::vector<App::DocumentObject*>::const_iterator ft=sel.begin();ft!=sel.end();ft++) {
710
if ((*ft)->getTypeId().isDerivedFrom(App::DocumentObjectGroup::getClassTypeId()))
711
doCommand(Doc,"App.getDocument(\"%s\").getObject(\"%s\").removeObjectsFromDocument()"
712
,(*it)->getName(), (*ft)->getNameInDocument());
713
doCommand(Doc,"App.getDocument(\"%s\").removeObject(\"%s\")"
714
,(*it)->getName(), (*ft)->getNameInDocument());
716
(*it)->commitTransaction();
721
bool StdCmdDelete::isActive(void)
723
return Selection().getCompleteSelection().size() > 0;
726
//===========================================================================
728
//===========================================================================
729
DEF_STD_CMD_A(StdCmdRefresh);
731
StdCmdRefresh::StdCmdRefresh()
732
:Command("Std_Refresh")
734
sGroup = QT_TR_NOOP("Edit");
735
sMenuText = QT_TR_NOOP("&Refresh");
736
sToolTipText = QT_TR_NOOP("Recomputes the current active document");
737
sWhatsThis = "Std_Refresh";
738
sStatusTip = QT_TR_NOOP("Recomputes the current active document");
739
sPixmap = "view-refresh";
743
void StdCmdRefresh::activated(int iMsg)
745
if ( getActiveGuiDocument() )
747
openCommand("Refresh active document");
748
doCommand(Doc,"App.activeDocument().recompute()");
753
bool StdCmdRefresh::isActive(void)
755
return this->getDocument() && this->getDocument()->isTouched();
761
void CreateDocCommands(void)
763
CommandManager &rcCmdMgr = Application::Instance->commandManager();
765
rcCmdMgr.addCommand(new StdCmdNew());
766
rcCmdMgr.addCommand(new StdCmdOpen());
767
rcCmdMgr.addCommand(new StdCmdImport());
768
rcCmdMgr.addCommand(new StdCmdExport());
770
rcCmdMgr.addCommand(new StdCmdSave());
771
rcCmdMgr.addCommand(new StdCmdSaveAs());
772
rcCmdMgr.addCommand(new StdCmdProjectInfo());
773
rcCmdMgr.addCommand(new StdCmdUndo());
774
rcCmdMgr.addCommand(new StdCmdRedo());
775
rcCmdMgr.addCommand(new StdCmdPrint());
776
rcCmdMgr.addCommand(new StdCmdPrintPdf());
777
rcCmdMgr.addCommand(new StdCmdQuit());
778
rcCmdMgr.addCommand(new StdCmdCut());
779
rcCmdMgr.addCommand(new StdCmdCopy());
780
rcCmdMgr.addCommand(new StdCmdPaste());
781
rcCmdMgr.addCommand(new StdCmdSelectAll());
782
rcCmdMgr.addCommand(new StdCmdDelete());
783
rcCmdMgr.addCommand(new StdCmdRefresh());