0025619: CAST analysis: Avoid classes with a non-empty destructor and not implementin...
[occt.git] / src / Draw / Draw_Commands.cxx
1 // Created on: 1995-03-01
2 // Created by: Remi LEQUETTE
3 // Copyright (c) 1995-1999 Matra Datavision
4 // Copyright (c) 1999-2014 OPEN CASCADE SAS
5 //
6 // This file is part of Open CASCADE Technology software library.
7 //
8 // This library is free software; you can redistribute it and/or modify it under
9 // the terms of the GNU Lesser General Public License version 2.1 as published
10 // by the Free Software Foundation, with special exception defined in the file
11 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 // distribution for complete text of the license and disclaimer of any warranty.
13 //
14 // Alternatively, this file may be used under the terms of Open CASCADE
15 // commercial license or contractual agreement.
16
17 #include <Draw.ixx>
18
19 #include <Draw_Printer.hxx>
20 #include <Message.hxx>
21 #include <Message_Messenger.hxx>
22 #include <Message_PrinterOStream.hxx>
23
24 void Draw::Commands (Draw_Interpretor& theCommands)
25 {
26   static Standard_Boolean isFirstTime = Standard_True;
27   if (isFirstTime)
28   {
29     // override default std::cout printer by draw interpretor printer
30     const Handle(Message_Messenger)& aMsgMgr = Message::DefaultMessenger();
31     if (!aMsgMgr.IsNull())
32     {
33       aMsgMgr->RemovePrinters (STANDARD_TYPE (Message_PrinterOStream));
34       aMsgMgr->RemovePrinters (STANDARD_TYPE (Draw_Printer));
35       aMsgMgr->AddPrinter (new Draw_Printer (theCommands));
36     }
37     isFirstTime = Standard_False;
38   }
39
40   Draw::BasicCommands(theCommands);
41   Draw::VariableCommands(theCommands);
42   Draw::GraphicCommands(theCommands);
43   Draw::PloadCommands(theCommands);
44   Draw::UnitCommands(theCommands);
45 }