diff --git a/NPLib/Core/NPOnline.cxx b/NPLib/Core/NPOnline.cxx index 4b1056503577c397cc40bf4eda1aa4a32154e324..f6844bcf692cdf726938f4c547cff20d2950e82a 100644 --- a/NPLib/Core/NPOnline.cxx +++ b/NPLib/Core/NPOnline.cxx @@ -18,88 +18,134 @@ NPL::NPOnline::NPOnline(){ TString NPLPath = gSystem->Getenv("NPTOOL"); gROOT->ProcessLine(Form(".x %s/NPLib/scripts/NPToolLogon.C+", NPLPath.Data())); gROOT->SetStyle("nptool"); - + + MakeGui(); + + m_Connect->Connect("Clicked()", "NPL::NPOnline", this, "Connect()"); + m_Quit->SetCommand("gApplication->Terminate()"); + m_Update->Connect("Clicked()", "NPL::NPOnline", this, "Update()"); +} + +//////////////////////////////////////////////////////////////////////////////// +void NPL::NPOnline::MakeGui(){ m_BgColor = gROOT->GetColor(kGray+3)->GetPixel(); m_FgColor = gROOT->GetColor(kAzure+7)->GetPixel(); - m_Main = new TGMainFrame(0,0,0); - m_Main->SetCleanup(kDeepCleanup); + // main frame + m_Main = new TGMainFrame(gClient->GetRoot(),10,10,kMainFrame | kVerticalFrame); + m_Main->SetName("nponline"); m_Main->SetBackgroundColor(m_BgColor); m_Main->SetForegroundColor(m_FgColor); + m_Main->SetLayoutBroken(kTRUE); - m_Tab= new TGTab(m_Main,100,100); - m_Tab->SetBackgroundColor(m_BgColor); - m_Tab->SetForegroundColor(m_FgColor); - m_Tab->ChangeSubframesBackground(m_BgColor); - AddTab(); - - // Create a horizonal frame containing two text buttons - m_Lhorz = new TGLayoutHints(kLHintsExpandX, 0, 0, 0, 30); - m_Lresize = new TGLayoutHints(kLHintsExpandX|kLHintsExpandY, 0, 0, 0, 30); - m_Lbut = new TGLayoutHints(kLHintsCenterY, 10, 10, 0, 0); - m_Lcan = new TGLayoutHints(kLHintsCenterX|kLHintsCenterY,30,30,30,30); - m_Horz = new TGHorizontalFrame(m_Main, 100, 100); - - m_Horz->SetBackgroundColor(m_BgColor); - m_Horz->SetForegroundColor(m_FgColor); - - // Create "Connect" and "Quit" buttons - // Add to horizontal frame - m_Connect = new TGTextButton(m_Horz, "Connect"); - m_Connect->Connect("Clicked()", "NPL::NPOnline", this, "Connect()"); - m_Connect->SetBackgroundColor(m_BgColor); - m_Connect->SetForegroundColor(m_FgColor); - - m_Quit = new TGTextButton(m_Horz, "Quit"); - m_Quit->SetCommand("gApplication->Terminate()"); + string NPLPath = gSystem->Getenv("NPTOOL"); + string path_quit = NPLPath+"/NPLib/Core/icons/power.xpm"; + m_Quit = new TGPictureButton(m_Main,gClient->GetPicture(path_quit.c_str()),-1,TGPictureButton::GetDefaultGC()(),kChildFrame); m_Quit->SetBackgroundColor(m_BgColor); - m_Quit->SetForegroundColor(m_FgColor); - m_Update = new TGTextButton(m_Horz, "Update"); - m_Update->Connect("Clicked()", "NPL::NPOnline", this, "Update()"); + m_Main->AddFrame(m_Quit, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2)); + m_Quit->MoveResize(10,10,32,32); + + string path_update = NPLPath+"/NPLib/Core/icons/download.xpm"; + m_Update = new TGPictureButton(m_Main,gClient->GetPicture(path_update.c_str()),-1,TGPictureButton::GetDefaultGC()(),kChildFrame); m_Update->SetBackgroundColor(m_BgColor); - m_Update->SetForegroundColor(m_FgColor); - - m_Horz->AddFrame(m_Quit, m_Lbut); - m_Horz->AddFrame(m_Connect, m_Lbut); - m_Horz->AddFrame(m_Update, m_Lbut); - - m_Main->AddFrame(m_Horz, m_Lhorz); - m_Main->AddFrame(m_Tab, m_Lresize); + m_Main->AddFrame(m_Update, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2)); + m_Update->MoveResize(45,10,32,32); + + string path_connect = NPLPath+"/NPLib/Core/icons/plugin.xpm"; + m_Connect = new TGPictureButton(m_Main,gClient->GetPicture(path_connect.c_str()),-1,TGPictureButton::GetDefaultGC()(),kChildFrame); + m_Connect->SetBackgroundColor(m_BgColor); - m_Main->SetWindowName("NPOnline"); + m_Main->AddFrame(m_Connect, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2)); + m_Connect->MoveResize(80,10,32,32); + + TGFont* ufont; // will reflect user font changes + ufont = gClient->GetFont("-*-helvetica-medium-r-*-*-12-*-*-*-*-*-iso8859-1"); + + TGGC * uGC; // will reflect user GC changes + // graphics context changes + GCValues_t valress; + valress.fMask = kGCForeground | kGCBackground | kGCFillStyle | kGCFont | kGCGraphicsExposures; + gClient->GetColorByName("#000000",valress.fForeground); + gClient->GetColorByName("#e7e7e7",valress.fBackground); + valress.fFillStyle = kFillSolid; + valress.fFont = ufont->GetFontHandle(); + valress.fGraphicsExposures = kFALSE; + uGC = gClient->GetGC(&valress, kTRUE); + m_Address = new TGTextEntry(m_Main, new TGTextBuffer(14),-1,uGC->GetGC(),ufont->GetFontStruct(),kSunkenFrame | kDoubleBorder | kOwnBackground); + m_Address->SetMaxLength(4096); + m_Address->SetAlignment(kTextLeft); + m_Address->SetText("localhost"); + m_Address->Resize(200,m_Address->GetDefaultHeight()); + m_Main->AddFrame(m_Address, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2)); + m_Address->MoveResize(120,10,200,20); + + m_Port = new TGNumberEntry(m_Main, (Double_t) 9090,9,-1,(TGNumberFormat::EStyle) 5); + m_Port->SetName("m_Port"); + m_Main->AddFrame(m_Port, new TGLayoutHints(kLHintsExpandX | kLHintsExpandY)); + m_Port->MoveResize(330,10,80,30); + + // canvas widget + TGCanvas* m_ListCanvas = new TGCanvas(m_Main,120,500); + m_ListCanvas->SetName("m_ListCanvas"); + + // canvas viewport + TGViewPort* fViewPort669 = m_ListCanvas->GetViewPort(); + + // list tree + m_CanvasListTree = new CanvasList(m_Main,m_ListCanvas); + m_ListTree = m_CanvasListTree->GetListTree(); + + fViewPort669->AddFrame(m_ListTree); + m_ListTree->SetLayoutManager(new TGHorizontalLayout(m_ListTree)); + m_ListTree->MapSubwindows(); + + m_ListCanvas->SetContainer(m_ListTree); + m_ListCanvas->MapSubwindows(); + m_Main->AddFrame(m_ListCanvas, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2)); + m_ListCanvas->MoveResize(10,50,120,500); + + // tab widget + m_Tab = new TGTab(m_Main,700,500); + m_Tab->Resize(m_Tab->GetDefaultSize()); + m_Main->AddFrame(m_Tab, new TGLayoutHints(kLHintsLeft | kLHintsTop,2,2,2,2)); + m_Tab->MoveResize(144,50,700,500); + m_CanvasListTree->SetTab(m_Tab); + //AddTab(); + m_Main->SetMWMHints(kMWMDecorAll,kMWMFuncAll,kMWMInputModeless); m_Main->MapSubwindows(); m_Main->Resize(m_Main->GetDefaultSize()); m_Main->MapWindow(); - - m_Main->Layout(); - m_hist=0; + m_Main->Resize(900,600); } //////////////////////////////////////////////////////////////////////////////// NPL::NPOnline::~NPOnline(){ delete m_Main; + delete m_ListCanvas; + delete m_ListTree; delete m_Tab; - delete m_Lcan; - delete m_Horz; - delete m_Lbut; - delete m_Lhorz; delete m_Quit; delete m_Connect; delete m_Update; delete m_Sock; + delete m_Port; + delete m_Address; } //////////////////////////////////////////////////////////////////////////////// void NPL::NPOnline::Connect(){ // Connect to SpectraServer - m_Sock = new TSocket("localhost", 9090); + m_Sock = new TSocket(m_Address->GetDisplayText(),(Int_t) m_Port->GetNumber()); if(m_Sock->IsValid()){ m_Connect->SetState(kButtonDisabled); Update(); } + else{ + cout << "Connection to " << m_Address->GetDisplayText() << " " <<(Int_t) m_Port->GetNumber() << " Failed" << endl; + } } //////////////////////////////////////////////////////////////////////////////// void NPL::NPOnline::Update(){ @@ -116,51 +162,93 @@ void NPL::NPOnline::Update(){ return; } + m_CanvasListTree->Clear(); m_CanvasList = (TList*) message->ReadObject(message->GetClass()); - - - int current_tab = m_Tab->GetCurrent(); - int tabs = m_Tab->GetNumberOfTabs(); - for(int i = tabs-1 ; i != -1 ; i--){ - m_Tab->RemoveTab(i,false); - } - + + TGCompositeFrame* tf; + TRootEmbeddedCanvas* canvas; for(TCanvas* c = (TCanvas*) m_CanvasList->First() ; c !=0 ; c = (TCanvas*) m_CanvasList->After(c)){ - AddTab(c->GetName(),c); + m_CanvasListTree->AddItem(c); + + TGCompositeFrame* tab = m_Tab->GetTabContainer(c->GetName()); + if(tab){ + tab->RemoveAll(); + TRootEmbeddedCanvas* canvas = new TRootEmbeddedCanvas("Canvas",tab,700,490,!kSunkenFrame); + canvas->AdoptCanvas(c); + tab->AddFrame(canvas); + tab->SetLayoutManager(new TGVerticalLayout(tab)); + } + } - if( m_Tab->GetNumberOfTabs()==0) - AddTab(); - + m_Main->MapSubwindows(); m_Main->MapWindow(); m_Main->Layout(); - m_Tab->SetTab(current_tab); } +//////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// -void NPL::NPOnline::AddTab(std::string name,TCanvas* c){ - TGCompositeFrame* tf; - TRootEmbeddedCanvas* canvas; - if(name=="default"){ - tf = m_Tab->AddTab("NPOnline"); - - canvas= new TRootEmbeddedCanvas("Canvas",tf,1600,800,!kSunkenFrame); - canvas->GetCanvas()->SetMargin(0,0,0,0); - canvas->GetCanvas()->SetFillColor(kGray+3); - TImage* logo = TASImage::Open("nptoolLogo.png"); - logo->SetConstRatio(true); - logo->Draw(""); +//////////////////////////////////////////////////////////////////////////////// +NPL::CanvasList::CanvasList(TGMainFrame* main, TGCanvas* parent){ + m_popen = gClient->GetPicture("ofolder_t.xpm"); + m_pclose = gClient->GetPicture("folder_t.xpm"); + m_ListTree = new TGListTree(parent,kHorizontalFrame); + m_ListTree->Connect("DoubleClicked(TGListTreeItem*,Int_t)","NPL::CanvasList",this,"OnDoubleClick(TGListTreeItem*,Int_t)"); + m_Main = main; +} +//////////////////////////////////////////////////////////////////////////////// +NPL::CanvasList::~CanvasList(){ +} +//////////////////////////////////////////////////////////////////////////////// +void NPL::CanvasList::OnDoubleClick(TGListTreeItem* item, Int_t btn){ + AddTab(item->GetText(),m_Canvas[item->GetText()]); +} +//////////////////////////////////////////////////////////////////////////////// +void NPL::CanvasList::AddItem(TCanvas* c){ + TGListTreeItem* item = m_ListTree->AddItem(NULL,c->GetName()); + item->SetPictures(m_popen, m_pclose); + m_Canvas[c->GetName()]=c; +} +//////////////////////////////////////////////////////////////////////////////// +void NPL::CanvasList::Clear(){ + m_Canvas.clear(); + TGListTreeItem* item = m_ListTree->GetFirstItem() ; + while(item){ + m_ListTree->DeleteItem(item); + item = m_ListTree->GetFirstItem() ; } - - else{ - tf = m_Tab->AddTab(name.c_str()); - canvas= new TRootEmbeddedCanvas("Canvas",tf,1600,800,!kSunkenFrame); - if(c) - canvas->AdoptCanvas(c); +} +//////////////////////////////////////////////////////////////////////////////// +TGListTree* NPL::CanvasList::GetListTree(){ + return m_ListTree; +} +//////////////////////////////////////////////////////////////////////////////// +void NPL::CanvasList::AddTab(std::string name,TCanvas* c){ + // If the tab exist, activate + if(m_Tab->GetTabTab(name.c_str())){ + m_Tab->SetTab(name.c_str()); + return; } - tf->SetBackgroundColor(m_BgColor); - tf->SetForegroundColor(m_FgColor); - tf->AddFrame(canvas,m_Lresize); + TGCompositeFrame* tf = m_Tab->AddTab(name.c_str()); + TRootEmbeddedCanvas* canvas = new TRootEmbeddedCanvas("Canvas",tf,700,490,!kSunkenFrame); + + if(c) + canvas->AdoptCanvas(c); + + // tf->SetBackgroundColor(m_BgColor); + // tf->SetForegroundColor(m_FgColor); + tf->AddFrame(canvas); + tf->SetLayoutManager(new TGVerticalLayout(tf)); + m_Tab->Resize(m_Tab->GetDefaultSize()); + m_Tab->MoveResize(144,50,700,500); + m_Tab->SetTab(name.c_str()); + m_Main->MapSubwindows(); + m_Main->MapWindow(); + m_Main->Layout(); +} +//////////////////////////////////////////////////////////////////////////////// +void NPL::CanvasList::SetTab(TGTab* tab){ + m_Tab=tab; } diff --git a/NPLib/Core/NPOnline.h b/NPLib/Core/NPOnline.h index 55f2ea3b0cff09cd3f75298f69dfb54585ff0e83..d499fb9627831aecdbb30170b96d95da5e4c007b 100644 --- a/NPLib/Core/NPOnline.h +++ b/NPLib/Core/NPOnline.h @@ -6,10 +6,42 @@ #include "TRootEmbeddedCanvas.h" #include "TH1.h" #include "TSocket.h" +#include "TGListTree.h" +#include "TGTextEntry.h" +#include "TGNumberEntry.h" +//#include "TGCanvasContainer.h" #include "RQ_OBJECT.h" +#include<map> using namespace std; namespace NPL{ + class CanvasList { + RQ_OBJECT("CanvasList") + protected: + TGMainFrame* m_Main; + TGListTree* m_ListTree; + TGTab* m_Tab; + map<string,TCanvas*> m_Canvas; + const TGPicture* m_popen; + const TGPicture* m_pclose; + + + public: + CanvasList(TGMainFrame* main, TGCanvas* parent); + virtual ~CanvasList(); + + // slots + void OnDoubleClick(TGListTreeItem* item, Int_t btn); + + // Interface with NPOnline + void SetTab(TGTab* tab); + void AddItem(TCanvas* c); + void Clear(); + TGListTree* GetListTree(); + // Add a new Tab to the interface + void AddTab(std::string name="default",TCanvas* c=0); + }; + class NPOnline{ RQ_OBJECT("NPOnline") @@ -17,29 +49,28 @@ namespace NPL{ NPOnline(); ~NPOnline(); + void MakeGui(); void Connect(); void Update(); - - // Add a new Tab to the interface - void AddTab(std::string name="default",TCanvas* c=0); - - private: // Server client + + private: // Server client TSocket* m_Sock; TList* m_CanvasList; private: // GUI stuff TGMainFrame* m_Main; TGTab* m_Tab; - TGLayoutHints* m_Lcan; - TGHorizontalFrame* m_Horz; - TGLayoutHints* m_Lbut; - TGLayoutHints* m_Lhorz; - TGLayoutHints* m_Lresize; - TGButton* m_Quit; - TGButton* m_Connect; - TGButton* m_Update; + TGPictureButton* m_Quit; + TGPictureButton* m_Connect; + TGPictureButton* m_Update; + TGTextEntry* m_Address; + TGNumberEntry* m_Port; + TGListTree* m_ListTree; + CanvasList* m_CanvasListTree; + + TGCanvas* m_ListCanvas; - private: // Style + private: // Style Pixel_t m_BgColor; Pixel_t m_FgColor; diff --git a/NPLib/Core/icons/download.png b/NPLib/Core/icons/download.png new file mode 100644 index 0000000000000000000000000000000000000000..4c2bc3694eac016f7a8f42f4fc4f676bae7e7213 Binary files /dev/null and b/NPLib/Core/icons/download.png differ diff --git a/NPLib/Core/icons/download.xpm b/NPLib/Core/icons/download.xpm new file mode 100644 index 0000000000000000000000000000000000000000..67cec52540588c0c3579d25128efc01d9e600a91 --- /dev/null +++ b/NPLib/Core/icons/download.xpm @@ -0,0 +1,155 @@ +/* XPM */ +static char *download[] = { +/* columns rows colors chars-per-pixel */ +"32 32 117 2 ", +" c #1786EE", +". c #1C8AF2", +"X c #1C8BF3", +"o c #1E8EF7", +"O c #2289EA", +"+ c #258AE9", +"@ c #268DEE", +"# c #328FE6", +"$ c #338FE6", +"% c #3590E6", +"& c #208FF8", +"* c #2892F5", +"= c #2191FB", +"- c #2192FB", +"; c #2193FE", +": c #2193FF", +"> c #2293FE", +", c #2194FF", +"< c #2294FE", +"1 c #2394FE", +"2 c #2294FF", +"3 c #2394FF", +"4 c #2395FF", +"5 c #2495FF", +"6 c #2496FF", +"7 c #2596FF", +"8 c #2696FF", +"9 c #2797FF", +"0 c #2A97FD", +"q c #2897FF", +"w c #2C97FD", +"e c #2998FF", +"r c #2A98FF", +"t c #2B98FF", +"y c #2C98FD", +"u c #2D98FD", +"i c #2D99FF", +"p c #2E9AFF", +"a c #329CFF", +"s c #339CFF", +"d c #399FFF", +"f c #3BA0FF", +"g c #3CA0FF", +"h c #3CA1FF", +"j c #3DA1FF", +"k c #3EA1FF", +"l c #3EA2FF", +"z c #53A1EB", +"x c #45A5FF", +"c c #55A6F1", +"v c #52ABFF", +"b c #57AEFF", +"n c #5BB0FF", +"m c #5DB1FF", +"M c #5FB1FF", +"N c #71B0EB", +"B c #76B5EF", +"V c #77B5EF", +"C c #61ABF1", +"Z c #60B2FF", +"A c #63B3FF", +"S c #63B4FF", +"D c #64B4FF", +"F c #73B6F4", +"G c #74BCFF", +"H c #78BEFF", +"J c #8BBEEE", +"K c #9CC8F2", +"L c #97CCFF", +"P c #AACFF2", +"I c #A0D1FF", +"U c #A9D5FF", +"Y c #AAD6FF", +"T c #ABD6FF", +"R c #ADD7FF", +"E c #B7D7F4", +"W c #B8DAF9", +"Q c #B8DDFF", +"! c #BADEFF", +"~ c #BBDEFF", +"^ c #C3DDF6", +"/ c #C3E0FB", +"( c #C1E1FF", +") c #C5E3FF", +"_ c #C6E3FF", +"` c #D5EAFF", +"' c #D5EBFF", +"] c #DBEDFF", +"[ c #DFF0FF", +"{ c #E0EEFA", +"} c #E1EEFA", +"| c #E4F0FA", +" . c #E4F0FB", +".. c #E1F0FE", +"X. c #E2F1FF", +"o. c #E3F1FF", +"O. c #E4F2FF", +"+. c #E5F2FF", +"@. c #E5F3FF", +"#. c #E6F3FF", +"$. c #E8F4FF", +"%. c #F1F8FF", +"&. c #F3F9FF", +"*. c #F4FAFF", +"=. c #F5FAFF", +"-. c #F6FAFE", +";. c #F6FAFF", +":. c #F6FBFF", +">. c #F8FBFE", +",. c #F9FBFE", +"<. c #F9FCFE", +"1. c #F9FCFF", +"2. c #FAFCFF", +"3. c #FCFEFF", +"4. c #FDFEFF", +"5. c white", +"6. c None", +/* pixels */ +"6.6.6.6.6.6.6.6.6.6.6.6.5 5 5 5 5 5 5 5 6.6.6.6.6.6.6.6.6.6.6.6.", +"6.6.6.6.6.6.6.6.6.5 5 5 5 5 5 5 5 5 5 5 5 5 5 6.6.6.6.6.6.6.6.6.", +"6.6.6.6.6.6.6.5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6.6.6.6.6.6.6.", +"6.6.6.6.6.6.5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6.6.6.6.6.6.", +"6.6.6.6.6.5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6.6.6.6.6.", +"6.6.6.6.5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6.6.6.6.", +"6.6.6.5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6.6.6.", +"6.6.5 5 5 5 5 5 5 5 5 t m b 5 5 5 0 Z m t 5 5 5 5 5 5 5 5 5 6.6.", +"6.6.5 5 5 5 5 5 5 5 f U 2.] f 5 6 f | 2.U f 5 5 5 5 5 5 5 5 6.6.", +"6.5 5 5 5 5 5 5 5 f ) 2.2.$.f 5 5 f | 2.2.) f 5 5 5 5 5 5 5 5 6.", +"6.5 5 5 5 5 5 5 t U 2.2.2.$.d 5 5 f $.2.2.2.U t 5 5 5 5 5 5 5 6.", +"6.5 5 5 5 5 5 5 Z 2.2.2.2.| f 5 6 f $.2.2.2.2.Z 5 5 5 5 5 5 5 6.", +"5 5 5 5 5 5 5 a R 2.2.2.2.$.f 5 5 f | 2.2.2.2.U 5 5 5 5 5 5 5 5 ", +"5 5 5 5 5 t H _ 2.2.2.P K V 0 5 5 t N K P 2.2.] a 5 5 5 5 5 5 5 ", +"5 5 5 5 t I 2.2.2.2.2.C . 5 5 5 5 . C :.2.$.b 5 5 5 5 5 5 5 ", +"5 5 5 5 G 2.2.2.2.2.2.] f 5 5 5 5 5 5 x ] 2.2.2.| ! n 5 5 5 5 5 ", +"5 5 5 a _ 2.2.2.2.2.2.2.W a 5 5 5 5 t ! 2.2.2.2.2.2.$.m 5 5 5 5 ", +"5 5 5 f $.2.2.2.2.2.2.2.2.L 0 5 5 5 L 2.2.2.2.2.2.2.2.~ t 5 5 5 ", +"5 5 5 d | 2.2.2.2.2.2.2.2.:.G 5 5 G :.2.2.2.2.2.2.2.2.| f 5 5 5 ", +"5 5 5 a _ 2.2.2.2.2.2.2.2.2.$.Z Z $.2.2.2.2.2.2.2.2.2.| f 5 5 5 ", +"6.5 5 5 F 2.2.2.2.2.2.2.2.2.2.:.:.2.2.2.2.2.2.2.2.2.2.W t 5 5 6.", +"6.5 5 5 * K 2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.| c 5 5 5 6.", +"6.5 5 5 5 + N ^ } | $.| } | } } $.| | | $.| | | | E z 5 5 5 5 6.", +"6.6.5 5 5 5 . + % % % % % % % # % % % % % % % % % + . 5 5 5 6.6.", +"6.6.5 5 5 5 5 5 5 5 . 5 & 5 o 5 o 5 o 5 o 5 o 5 5 5 5 5 5 5 6.6.", +"6.6.6.5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6.6.6.", +"6.6.6.6.5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6.6.6.6.", +"6.6.6.6.6.5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6.6.6.6.6.", +"6.6.6.6.6.6.5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6.6.6.6.6.6.", +"6.6.6.6.6.6.6.5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6.6.6.6.6.6.6.", +"6.6.6.6.6.6.6.6.6.5 5 5 5 5 5 5 5 5 5 5 5 5 5 6.6.6.6.6.6.6.6.6.", +"6.6.6.6.6.6.6.6.6.6.6.6.5 5 5 5 5 5 5 5 6.6.6.6.6.6.6.6.6.6.6.6." +}; diff --git a/NPLib/Core/icons/plugin.png b/NPLib/Core/icons/plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..0eef10dd151596623309b3dd064c6b9a92ac9dc3 Binary files /dev/null and b/NPLib/Core/icons/plugin.png differ diff --git a/NPLib/Core/icons/plugin.xpm b/NPLib/Core/icons/plugin.xpm new file mode 100644 index 0000000000000000000000000000000000000000..a49da88321ed3e373be73fa14d2894b39b21df4c --- /dev/null +++ b/NPLib/Core/icons/plugin.xpm @@ -0,0 +1,162 @@ +/* XPM */ +static char *plugin[] = { +/* columns rows colors chars-per-pixel */ +"32 32 124 2 ", +" c #4A5669", +". c #4B576B", +"X c #4C5A6E", +"o c #4E5B71", +"O c #4E5B72", +"+ c #4E5C71", +"@ c #4E5C72", +"# c #4F5C72", +"$ c #4E5D72", +"% c #4E5C73", +"& c #4F5C73", +"* c #4F5D73", +"= c #505F74", +"- c #516175", +"; c #526777", +": c #516875", +"> c #526778", +", c #536B79", +"< c #546F78", +"1 c #556F7C", +"2 c #56727C", +"3 c #56737D", +"4 c #57747E", +"5 c #577A7C", +"6 c #577280", +"7 c #587880", +"8 c #597B81", +"9 c #597982", +"0 c #597A82", +"q c #5B7D86", +"w c #5C7E86", +"e c #6E7F89", +"r c #5A8083", +"t c #5B8183", +"y c #5B8583", +"u c #5C8385", +"i c #5D8788", +"p c #5E858B", +"a c #60898D", +"s c #618E8F", +"d c #70838D", +"f c #61928D", +"g c #7C8690", +"h c #639192", +"j c #649393", +"k c #659C93", +"l c #659D93", +"z c #659994", +"x c #66A095", +"c c #69A09A", +"v c #69A09B", +"b c #6BA59E", +"n c #6BA89C", +"m c #6BAA9D", +"M c #6CAB9F", +"N c #71AB9E", +"B c #6EAFA1", +"V c #6DB0A0", +"C c #6EB1A1", +"Z c #6EB2A1", +"A c #6FB4A2", +"S c #6FB0A4", +"D c #6FB5A4", +"F c #73B2A1", +"G c #70B1A5", +"H c #70B5A4", +"J c #70B6A4", +"K c #71B9A7", +"L c #77B9A7", +"P c #72B6A8", +"I c #72B7A8", +"U c #72B8A9", +"Y c #72BAA8", +"T c #72B9AA", +"R c #73B9AA", +"E c #73BDAA", +"W c #74BDAB", +"Q c #74BEAB", +"! c #74BFAC", +"~ c #74BFAD", +"^ c #75BFAD", +"/ c #79BAAB", +"( c #74C0AD", +") c #75C0AD", +"_ c #75C0AE", +"` c #75C1AE", +"' c #76C1AE", +"] c #74C2AE", +"[ c #74C2AF", +"{ c #75C2AF", +"} c #76C2AE", +"| c #76C2AF", +" . c #77C2AF", +".. c #76C3AF", +"X. c #76C3B0", +"o. c #77C3B0", +"O. c #77C4B0", +"+. c #7AC3B0", +"@. c #7CC4B1", +"#. c #7DC4B1", +"$. c #90B3A8", +"%. c #97BCAD", +"&. c #98C1B1", +"*. c #98C3B5", +"=. c #93CAB8", +"-. c #9ECDBC", +";. c #AFC7B8", +":. c #A0CCBB", +">. c #A0CEBC", +",. c #A1CEBD", +"<. c #B0C8B9", +"1. c #B6D4C3", +"2. c #B7D5C4", +"3. c #C4D8C8", +"4. c #D0D2C7", +"5. c #D0D3C7", +"6. c #D9DCCD", +"7. c #DADDCE", +"8. c #DADECF", +"9. c #DBE0D0", +"0. c #E0E0D1", +"q. c #E1E0D1", +"w. c #E2E1D2", +"e. c None", +/* pixels */ +"e.e.e.e.e.e.e.e.e.e.e.e.| | | | | | | | e.e.e.e.e.e.e.e.e.e.e.e.", +"e.e.e.e.e.e.e.e.e.| | | | | | | | | | | | | | e.e.e.e.e.e.e.e.e.", +"e.e.e.e.e.e.e.| | | | | | | | | | | | | | | | | | e.e.e.e.e.e.e.", +"e.e.e.e.e.e.| | | | | | | | | | | | | | | | | | | | e.e.e.e.e.e.", +"e.e.e.e.e.| | | | | | | | | | | | | | | | | | | | | | e.e.e.e.e.", +"e.e.e.e.| | | | | | | | | | | | | | @.,.=.| | | | | | | e.e.e.e.", +"e.e.e.| | | | | | | | | | o.o.| | @.1.0.3. .| | | | | | | e.e.e.", +"e.e.| | | | | | | | | | U v U o.@.1.0.6.&.| | | | | | | | | e.e.", +"e.e.| | | | | | | | | o.h O q / 2.9.6.%.F | | | | | | | | | e.e.", +"e.| | | | | | | | | | o.z X O d 5.6.%.D o.| | | | | | | | | | e.", +"e.| | | | | | | | | o.U q O O g $.D | o.| | | | @.| | | | | e.", +"e.| | | | | | | | | U q O X O O q I o.| | | | -.3.=.| | | | e.", +"| | | | | | | | o.U q O = O X O O q U | | | -.6.0.-.o.| | | | ", +"| | | | | | | | U p = O O = O O O O q U o.,.9.0.;.L o.| | | | ", +"| | | | | | | o.B - O O = = O = X O O q *.9.0.<.F U o.| | | | ", +"| | | | | | | | a O O = O O = O = X O O g 4.<.F | | | | | | | ", +"| | | | | | | | w O O O O O = O O O X X X = d m | | | | | | | | ", +"| | | | | | | | p O = = = = O O = O O X X O 8 U | | | | | | | ", +"| | | | | | | o.s O = O O = O = O = O = X O O v | | | | | | | ", +"| | | | | | | o.B ; O O = O = O O O = O O 2 y y D | | | | | | | ", +"e.| | | | | | | U p O O = O = = = O O O 2 m L D U | | | | | | e.", +"e.| | | | | | o.D , X O O O O O O = O 2 m | | | o.| | | | | | e.", +"e.| | | | | o.D 6 O : 5 , O O O O - q m | | | | o.o.| | | | | e.", +"e.e.| | | o.o.h O , z D z y 5 2 5 f V | | | | | | | | | | | e.e.", +"e.e.| | | | o.m y z | | | L V V L U | | | | | | | | | | | | e.e.", +"e.e.e.| | | o.U D U | | | | | | | o.| | | | | | | | | | | e.e.e.", +"e.e.e.e.| | | | | | | | | | | | | | | | | | | | | | | | e.e.e.e.", +"e.e.e.e.e.| | | | | | | | | | | | | | | | | | | | | | e.e.e.e.e.", +"e.e.e.e.e.e.| | | | | | | | | | | | | | | | | | | | e.e.e.e.e.e.", +"e.e.e.e.e.e.e.| | | | | | | | | | | | | | | | | | e.e.e.e.e.e.e.", +"e.e.e.e.e.e.e.e.e.| | | | | | | | | | | | | | e.e.e.e.e.e.e.e.e.", +"e.e.e.e.e.e.e.e.e.e.e.e.| | | | | | | | e.e.e.e.e.e.e.e.e.e.e.e." +}; diff --git a/NPLib/Core/icons/power.png b/NPLib/Core/icons/power.png new file mode 100644 index 0000000000000000000000000000000000000000..f379b4b3c5f12c4cea5229e07259dcd0024adc10 Binary files /dev/null and b/NPLib/Core/icons/power.png differ diff --git a/NPLib/Core/icons/power.xbm b/NPLib/Core/icons/power.xbm new file mode 100644 index 0000000000000000000000000000000000000000..2fd52e56f9e2ad912f069b3ea684b133d39f4a5e --- /dev/null +++ b/NPLib/Core/icons/power.xbm @@ -0,0 +1,117 @@ +#define power_width 128 +#define power_height 128 +static unsigned short power_bits[] = { + 0x0000, 0x0000, 0x0000, 0xffc0, 0x03ff, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0xfffe, 0x7fff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, + 0xc000, 0xffff, 0xffff, 0x0003, 0x0000, 0x0000, 0x0000, 0x0000, 0xf800, + 0xffff, 0xffff, 0x001f, 0x0000, 0x0000, 0x0000, 0x0000, 0xff00, 0xffff, + 0xffff, 0x00ff, 0x0000, 0x0000, 0x0000, 0x0000, 0xffc0, 0xffff, 0xffff, + 0x03ff, 0x0000, 0x0000, 0x0000, 0x0000, 0xfff8, 0xffff, 0xffff, 0x1fff, + 0x0000, 0x0000, 0x0000, 0x0000, 0xfffe, 0xffff, 0xffff, 0x7fff, 0x0000, + 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, + 0x0000, 0xc000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0003, 0x0000, 0x0000, + 0xf000, 0xffff, 0xffff, 0xffff, 0xffff, 0x000f, 0x0000, 0x0000, 0xf800, + 0xffff, 0xffff, 0xffff, 0xffff, 0x001f, 0x0000, 0x0000, 0xfc00, 0xffff, + 0xffff, 0xffff, 0xffff, 0x003f, 0x0000, 0x0000, 0xff00, 0xffff, 0xffff, + 0xffff, 0xffff, 0x00ff, 0x0000, 0x0000, 0xff80, 0xffff, 0xffff, 0xffff, + 0xffff, 0x01ff, 0x0000, 0x0000, 0xffc0, 0xffff, 0xffff, 0xffff, 0xffff, + 0x03ff, 0x0000, 0x0000, 0xffe0, 0xffff, 0xffff, 0xffff, 0xffff, 0x07ff, + 0x0000, 0x0000, 0xfff0, 0xffff, 0xffff, 0xffff, 0xffff, 0x0fff, 0x0000, + 0x0000, 0xfff8, 0xffff, 0xffff, 0xffff, 0xffff, 0x1fff, 0x0000, 0x0000, + 0xfffc, 0xffff, 0xffff, 0xffff, 0xffff, 0x3fff, 0x0000, 0x0000, 0xfffe, + 0xffff, 0x3fff, 0xfffc, 0xffff, 0x7fff, 0x0000, 0x0000, 0xffff, 0xffff, + 0x1fff, 0xfff8, 0xffff, 0xffff, 0x0000, 0x8000, 0xffff, 0xffff, 0x0fff, + 0xfff0, 0xffff, 0xffff, 0x0001, 0xc000, 0xffff, 0xffff, 0x0fff, 0xfff0, + 0xffff, 0xffff, 0x0003, 0xe000, 0xffff, 0xffff, 0x0fff, 0xfff0, 0xffff, + 0xffff, 0x0007, 0xe000, 0xffff, 0xffff, 0x0fff, 0xfff0, 0xffff, 0xffff, + 0x0007, 0xf000, 0xffff, 0xffff, 0x0fff, 0xfff0, 0xffff, 0xffff, 0x000f, + 0xf800, 0xffff, 0xffff, 0x0fff, 0xfff0, 0xffff, 0xffff, 0x001f, 0xfc00, + 0xffff, 0xffff, 0x0fff, 0xfff0, 0xffff, 0xffff, 0x003f, 0xfc00, 0xffff, + 0xffff, 0x0fff, 0xfff0, 0xffff, 0xffff, 0x003f, 0xfe00, 0xffff, 0xffff, + 0x0fff, 0xfff0, 0xffff, 0xffff, 0x007f, 0xfe00, 0xffff, 0xffff, 0x0fff, + 0xfff0, 0xffff, 0xffff, 0x007f, 0xff00, 0xffff, 0x3fff, 0x0ffd, 0x1ff0, + 0xfffc, 0xffff, 0x00ff, 0xff80, 0xffff, 0x1fff, 0x0ff8, 0x1ff0, 0xfff8, + 0xffff, 0x01ff, 0xff80, 0xffff, 0x07ff, 0x0ff8, 0x0ff0, 0xffe0, 0xffff, + 0x01ff, 0xffc0, 0xffff, 0x03ff, 0x0ff0, 0x0ff0, 0xffc0, 0xffff, 0x03ff, + 0xffc0, 0xffff, 0x00ff, 0x0ff0, 0x07f0, 0xff00, 0xffff, 0x03ff, 0xffc0, + 0xffff, 0x00ff, 0x0ff0, 0x0ff0, 0xff00, 0xffff, 0x03ff, 0xffe0, 0xffff, + 0x003f, 0x0ff8, 0x0ff0, 0xfc00, 0xffff, 0x07ff, 0xffe0, 0xffff, 0x003f, + 0x0ffc, 0x3ff0, 0xfc00, 0xffff, 0x07ff, 0xfff0, 0xffff, 0x000f, 0x0ffe, + 0x7ff0, 0xf000, 0xffff, 0x0fff, 0xfff0, 0xffff, 0x800f, 0x0fff, 0xfff0, + 0xf001, 0xffff, 0x0fff, 0xfff0, 0xffff, 0xc007, 0x0fff, 0xfff0, 0xe003, + 0xffff, 0x0fff, 0xfff8, 0xffff, 0xe003, 0x0fff, 0xfff0, 0xc007, 0xffff, + 0x1fff, 0xfff8, 0xffff, 0xf003, 0x0fff, 0xfff0, 0xc00f, 0xffff, 0x1fff, + 0xfff8, 0xffff, 0xf801, 0x0fff, 0xfff0, 0x801f, 0xffff, 0x1fff, 0xfffc, + 0xffff, 0xfc00, 0x0fff, 0xfff0, 0x003f, 0xffff, 0x3fff, 0xfffc, 0xffff, + 0xfc00, 0x0fff, 0xfff0, 0x007f, 0xffff, 0x3fff, 0xfffc, 0x7fff, 0xfe00, + 0x0fff, 0xfff0, 0x007f, 0xfffe, 0x3fff, 0xfffe, 0x7fff, 0xff00, 0x0fff, + 0xfff0, 0x00ff, 0xfffe, 0x7fff, 0xfffe, 0x7fff, 0xff80, 0x0fff, 0xfff0, + 0x00ff, 0xfffe, 0x7fff, 0xfffe, 0x3fff, 0xff80, 0x0fff, 0xfff0, 0x01ff, + 0xfffc, 0x7fff, 0xfffe, 0x3fff, 0xffc0, 0x0fff, 0xfff0, 0x03ff, 0xfffc, + 0x7fff, 0xfffe, 0x3fff, 0xffc0, 0x0fff, 0xfff0, 0x03ff, 0xfff8, 0x7fff, + 0xffff, 0x1fff, 0xffc0, 0x0fff, 0xfff0, 0x03ff, 0xfff8, 0xffff, 0xffff, + 0x1fff, 0xffe0, 0x0fff, 0xfff0, 0x07ff, 0xfff8, 0xffff, 0xffff, 0x1fff, + 0xffe0, 0x0fff, 0xfff0, 0x07ff, 0xfff8, 0xffff, 0xffff, 0x0fff, 0xffe0, + 0x0fff, 0xfff0, 0x07ff, 0xfff0, 0xffff, 0xffff, 0x1fff, 0xfff0, 0x0fff, + 0xfff0, 0x07ff, 0xfff8, 0xffff, 0xffff, 0x0fff, 0xffe0, 0x0fff, 0xfff0, + 0x0fff, 0xfff0, 0xffff, 0xffff, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, + 0xfff0, 0xffff, 0xffff, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, + 0xffff, 0xffff, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0xffff, + 0xffff, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0xffff, 0xffff, + 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0xffff, 0xffff, 0x0fff, + 0xfff0, 0x0fff, 0xfff0, 0x0fff, 0xfff0, 0xffff, 0xffff, 0x0fff, 0xfff0, + 0x1fff, 0xfff8, 0x0fff, 0xfff0, 0xffff, 0xffff, 0x0fff, 0xfff0, 0x3fff, + 0xfffc, 0x0fff, 0xfff0, 0xffff, 0xffff, 0x0fff, 0xfff0, 0xffff, 0xffff, + 0x07ff, 0xfff0, 0xffff, 0xffff, 0x1fff, 0xffe0, 0xffff, 0xffff, 0x0fff, + 0xfff0, 0xffff, 0xffff, 0x0fff, 0xffe0, 0xffff, 0xffff, 0x07ff, 0xfff8, + 0xffff, 0xffff, 0x1fff, 0xffe0, 0xffff, 0xffff, 0x07ff, 0xfff8, 0xffff, + 0xffff, 0x1fff, 0xffe0, 0xffff, 0xffff, 0x07ff, 0xfff8, 0xffff, 0xffff, + 0x1fff, 0xffc0, 0xffff, 0xffff, 0x03ff, 0xfff8, 0xffff, 0xfffe, 0x3fff, + 0xffc0, 0xffff, 0xffff, 0x03ff, 0xfffc, 0x7fff, 0xfffe, 0x3fff, 0xff80, + 0xffff, 0xffff, 0x01ff, 0xfffc, 0x7fff, 0xfffe, 0x3fff, 0xff80, 0xffff, + 0xffff, 0x01ff, 0xfffc, 0x7fff, 0xfffe, 0x7fff, 0xff00, 0xffff, 0xffff, + 0x01ff, 0xfffc, 0x7fff, 0xfffe, 0x7fff, 0xff00, 0xffff, 0xffff, 0x00ff, + 0xfffe, 0x7fff, 0xfffc, 0x7fff, 0xfe00, 0xffff, 0xffff, 0x007f, 0xffff, + 0x3fff, 0xfffc, 0xffff, 0xfc00, 0xffff, 0xffff, 0x003f, 0xffff, 0x3fff, + 0xfffc, 0xffff, 0xfc01, 0xffff, 0xffff, 0x003f, 0xffff, 0x3fff, 0xfff8, + 0xffff, 0xf801, 0xffff, 0xffff, 0x801f, 0xffff, 0x1fff, 0xfff8, 0xffff, + 0xf003, 0xffff, 0xffff, 0xc00f, 0xffff, 0x1fff, 0xfff8, 0xffff, 0xe003, + 0xffff, 0xffff, 0xc007, 0xffff, 0x1fff, 0xfff0, 0xffff, 0xc007, 0xffff, + 0xffff, 0xe003, 0xffff, 0x0fff, 0xfff0, 0xffff, 0x000f, 0xffff, 0xffff, + 0xf000, 0xffff, 0x0fff, 0xfff0, 0xffff, 0x001f, 0xfffe, 0x7fff, 0xf800, + 0xffff, 0x0fff, 0xffe0, 0xffff, 0x001f, 0xfff8, 0x1fff, 0xfc00, 0xffff, + 0x07ff, 0xffe0, 0xffff, 0x007f, 0xffe0, 0x07ff, 0xfc00, 0xffff, 0x07ff, + 0xffc0, 0xffff, 0x007f, 0xff80, 0x00ff, 0xff00, 0xffff, 0x03ff, 0xffc0, + 0xffff, 0x01ff, 0xe800, 0x0017, 0xff80, 0xffff, 0x03ff, 0xffc0, 0xffff, + 0x03ff, 0x0000, 0x0000, 0xffc0, 0xffff, 0x03ff, 0xff80, 0xffff, 0x07ff, + 0x0000, 0x0000, 0xffe0, 0xffff, 0x01ff, 0xff80, 0xffff, 0x1fff, 0x0000, + 0x0000, 0xfff8, 0xffff, 0x01ff, 0xff00, 0xffff, 0x7fff, 0x0000, 0x0000, + 0xfffc, 0xffff, 0x00ff, 0xfe00, 0xffff, 0xffff, 0x0000, 0x8000, 0xffff, + 0xffff, 0x007f, 0xfe00, 0xffff, 0xffff, 0x0007, 0xc000, 0xffff, 0xffff, + 0x007f, 0xfc00, 0xffff, 0xffff, 0x003f, 0xfc00, 0xffff, 0xffff, 0x003f, + 0xfc00, 0xffff, 0xffff, 0x05ff, 0xffa0, 0xffff, 0xffff, 0x003f, 0xf800, + 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x001f, 0xf000, 0xffff, + 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x000f, 0xe000, 0xffff, 0xffff, + 0xffff, 0xffff, 0xffff, 0xffff, 0x0007, 0xe000, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffff, 0xffff, 0x0007, 0xc000, 0xffff, 0xffff, 0xffff, 0xffff, + 0xffff, 0xffff, 0x0003, 0x8000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, + 0xffff, 0x0001, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, + 0x0000, 0x0000, 0xfffe, 0xffff, 0xffff, 0xffff, 0xffff, 0x7fff, 0x0000, + 0x0000, 0xfffc, 0xffff, 0xffff, 0xffff, 0xffff, 0x3fff, 0x0000, 0x0000, + 0xfff8, 0xffff, 0xffff, 0xffff, 0xffff, 0x1fff, 0x0000, 0x0000, 0xfff0, + 0xffff, 0xffff, 0xffff, 0xffff, 0x0fff, 0x0000, 0x0000, 0xffe0, 0xffff, + 0xffff, 0xffff, 0xffff, 0x07ff, 0x0000, 0x0000, 0xffc0, 0xffff, 0xffff, + 0xffff, 0xffff, 0x03ff, 0x0000, 0x0000, 0xff80, 0xffff, 0xffff, 0xffff, + 0xffff, 0x01ff, 0x0000, 0x0000, 0xff00, 0xffff, 0xffff, 0xffff, 0xffff, + 0x00ff, 0x0000, 0x0000, 0xfc00, 0xffff, 0xffff, 0xffff, 0xffff, 0x003f, + 0x0000, 0x0000, 0xf800, 0xffff, 0xffff, 0xffff, 0xffff, 0x001f, 0x0000, + 0x0000, 0xf000, 0xffff, 0xffff, 0xffff, 0xffff, 0x000f, 0x0000, 0x0000, + 0xc000, 0xffff, 0xffff, 0xffff, 0xffff, 0x0003, 0x0000, 0x0000, 0x0000, + 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0xfffe, + 0xffff, 0xffff, 0x7fff, 0x0000, 0x0000, 0x0000, 0x0000, 0xfff8, 0xffff, + 0xffff, 0x1fff, 0x0000, 0x0000, 0x0000, 0x0000, 0xffc0, 0xffff, 0xffff, + 0x03ff, 0x0000, 0x0000, 0x0000, 0x0000, 0xff00, 0xffff, 0xffff, 0x00ff, + 0x0000, 0x0000, 0x0000, 0x0000, 0xf800, 0xffff, 0xffff, 0x001f, 0x0000, + 0x0000, 0x0000, 0x0000, 0xc000, 0xffff, 0xffff, 0x0003, 0x0000, 0x0000, + 0x0000, 0x0000, 0x0000, 0xfffe, 0x7fff, 0x0000, 0x0000, 0x0000, 0x0000, + 0x0000, 0x0000, 0xffc0, 0x03ff, 0x0000, 0x0000, 0x0000 }; diff --git a/NPLib/Core/icons/power.xpm b/NPLib/Core/icons/power.xpm new file mode 100644 index 0000000000000000000000000000000000000000..d5dd4c059fabf724054552f6cc0e44e003c22525 --- /dev/null +++ b/NPLib/Core/icons/power.xpm @@ -0,0 +1,134 @@ +/* XPM */ +static char *power[] = { +/* columns rows colors chars-per-pixel */ +"32 32 96 2 ", +" c #B25555", +". c #BA5555", +"X c #BB5757", +"o c #BE5757", +"O c #B25E5E", +"+ c #B45D5D", +"@ c #B65D5D", +"# c #B55E5E", +"$ c #BE5858", +"% c #B46565", +"& c #B86969", +"* c #BA6969", +"= c #BD6B6B", +"- c #BE7B7B", +"; c #C15858", +": c #C25959", +"> c #C35959", +", c #C45959", +"< c #C55959", +"1 c #C45A5A", +"2 c #C55B5B", +"3 c #C65A5A", +"4 c #C65B5B", +"5 c #C75B5B", +"6 c #C55C5C", +"7 c #C65C5C", +"8 c #C75C5C", +"9 c #C75D5D", +"0 c #C16262", +"q c #C96161", +"w c #C96262", +"e c #C86363", +"r c #C86565", +"t c #CA6464", +"y c #CA6565", +"u c #C96666", +"i c #CA6666", +"p c #CB6767", +"a c #CA6A6A", +"s c #CC6B6B", +"d c #CD6E6E", +"f c #CD6F6F", +"g c #CE6F6F", +"h c #CA7070", +"j c #CE7171", +"k c #CD7272", +"l c #CF7272", +"z c #C47D7D", +"x c #CB8080", +"c c #C58888", +"v c #C48989", +"b c #CE8D8D", +"n c #D48383", +"m c #D98F8F", +"M c #D99191", +"N c #D6A7A7", +"B c #DDBDBD", +"V c #DEBDBD", +"C c #E2ABAB", +"Z c #E3BFBF", +"A c #E8BCBC", +"S c #E5C7C7", +"D c #EAC1C1", +"F c #EAC2C2", +"G c #EAC3C3", +"H c #E6CFCF", +"J c #E7CFCF", +"K c #EDCACA", +"L c #EACECE", +"P c #EECFCF", +"I c #ECD7D7", +"U c #EDDCDC", +"Y c #F0D2D2", +"T c #F0D3D3", +"R c #F1DDDD", +"E c #F4DEDE", +"W c #F0E1E1", +"Q c #F6E4E4", +"! c #F4EAEA", +"~ c #F4EBEB", +"^ c #F7EEEE", +"/ c #F8EBEB", +"( c #F8ECEC", +") c #F9ECEC", +"_ c #F9EDED", +"` c #F9EFEF", +"' c #FAEFEF", +"] c #FBF8F8", +"[ c #FDF9F9", +"{ c #FDFAFA", +"} c #FCFBFB", +"| c #FEFCFC", +" . c #FEFDFD", +".. c #FFFEFE", +"X. c white", +"o. c None", +/* pixels */ +"o.o.o.o.o.o.o.o.o.o.o.o.8 8 8 8 8 8 8 8 o.o.o.o.o.o.o.o.o.o.o.o.", +"o.o.o.o.o.o.o.o.o.8 8 8 8 8 8 8 8 8 8 8 8 8 8 o.o.o.o.o.o.o.o.o.", +"o.o.o.o.o.o.o.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 o.o.o.o.o.o.o.", +"o.o.o.o.o.o.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 o.o.o.o.o.o.", +"o.o.o.o.o.8 8 8 8 8 8 8 8 8 8 i i 8 8 8 8 8 8 8 8 8 8 o.o.o.o.o.", +"o.o.o.o.8 8 8 8 8 8 8 8 8 8 i K K i 8 8 8 8 8 8 8 8 8 8 o.o.o.o.", +"o.o.o.8 8 8 8 8 8 8 8 8 8 8 j / / d 8 8 8 8 8 8 8 8 8 8 8 o.o.o.", +"o.o.8 8 8 8 8 8 8 8 8 i 5 8 j / / j 8 i i 8 8 8 8 8 8 8 8 8 o.o.", +"o.o.8 8 8 8 8 8 8 8 n K A q d / / d d Y Y n 9 9 8 8 8 8 8 8 o.o.", +"o.8 8 8 8 8 8 8 8 m / X.J q d / / d i I X./ m 9 8 8 8 8 8 8 8 o.", +"o.8 8 8 8 8 8 8 n / X.B & 8 j / / j , % A X./ z 8 8 8 8 8 8 8 o.", +"o.8 8 8 8 8 8 i Y X.B @ 8 5 j / / j 8 o @ B X.I i 8 8 8 8 8 8 o.", +"8 8 8 8 8 8 8 M X.U = 8 8 8 d / / j 5 5 , = U X.m 8 8 8 8 8 8 8 ", +"8 8 8 8 8 8 8 D X.N 8 5 8 8 j / / j 5 5 8 8 N X.D 8 8 8 8 8 8 8 ", +"8 8 8 8 8 8 i E X.z 5 5 8 , d / / j 5 5 5 5 z X.E i 8 8 8 8 8 8 ", +"8 8 8 8 8 8 d / ~ d 5 5 8 8 d / / j 5 5 5 5 j ~ / d 8 8 8 8 8 8 ", +"8 8 8 8 8 8 d ~ ~ d 8 8 8 8 i S J i 8 8 5 5 d / / d 8 8 8 8 8 8 ", +"8 8 8 8 8 8 i E X.n , 8 8 8 8 @ @ 8 8 8 5 , n X.E i 8 8 8 8 8 8 ", +"8 8 8 8 8 8 , A X.C 8 8 8 8 5 8 , 8 8 8 8 8 C X.A 8 8 8 8 8 8 8 ", +"8 8 8 8 8 8 , b X.W d 8 8 8 5 5 8 8 8 8 8 j W X.b 8 8 8 8 8 8 8 ", +"o.8 8 8 8 8 8 & K X.D i 8 8 8 5 8 8 8 8 i D X.J q 8 8 8 8 8 8 o.", +"o.8 8 8 8 8 8 8 z ~ X.D d 8 , 5 8 , 8 d D X.~ z $ 8 8 8 8 8 8 o.", +"o.8 8 8 8 8 8 8 $ v ~ X.W C n j d n C E X.~ c o 8 8 8 8 8 8 8 o.", +"o.o.8 8 8 8 8 8 8 o - J X.X.X.~ / X.X.X.J - o 8 8 8 8 8 8 8 o.o.", +"o.o.8 8 8 8 8 8 8 8 o @ v B U ~ ~ U B v @ $ 8 8 8 8 8 8 8 8 o.o.", +"o.o.o.8 8 8 8 8 8 8 8 8 . @ % % O . 8 8 8 8 8 8 8 8 8 o.o.o.", +"o.o.o.o.8 8 8 8 8 8 8 8 8 8 8 $ $ 8 8 8 8 8 8 8 8 8 8 8 o.o.o.o.", +"o.o.o.o.o.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 o.o.o.o.o.", +"o.o.o.o.o.o.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 o.o.o.o.o.o.", +"o.o.o.o.o.o.o.8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 o.o.o.o.o.o.o.", +"o.o.o.o.o.o.o.o.o.8 8 8 8 8 8 8 8 8 8 8 8 8 8 o.o.o.o.o.o.o.o.o.", +"o.o.o.o.o.o.o.o.o.o.o.o.8 8 8 8 8 8 8 8 o.o.o.o.o.o.o.o.o.o.o.o." +}; diff --git a/NPLib/Core/icons/upload.png b/NPLib/Core/icons/upload.png new file mode 100644 index 0000000000000000000000000000000000000000..3ce606b0c1aecd8435021cac323b25f0fc5ef3fb Binary files /dev/null and b/NPLib/Core/icons/upload.png differ diff --git a/NPLib/Sharc/TSharcSpectra.cxx b/NPLib/Sharc/TSharcSpectra.cxx index f459114fcdb590fac0cfc8f49c868fd1da53130d..a0177b8e16a622466f157e8b36baef3559427c19 100644 --- a/NPLib/Sharc/TSharcSpectra.cxx +++ b/NPLib/Sharc/TSharcSpectra.cxx @@ -67,46 +67,48 @@ TSharcSpectra::~TSharcSpectra(){ //////////////////////////////////////////////////////////////////////////////// void TSharcSpectra::InitRawSpectra(){ - TCanvas* c1 = new TCanvas("SharcRaw","Sharc Raw"); - TCanvas* c2 = new TCanvas("SharcRawPAD","Sharc Raw PAD"); - c1->Divide(fNumberOfDetector,4); - c2->Divide(fNumberOfDetector,2); string name; for (unsigned int i = 0; i < fNumberOfDetector; i++) { // loop on number of detectors + name = "SharcRaw"+NPL::itoa(i+1); + TCanvas* c1 = new TCanvas(name.c_str(),name.c_str()); + c1->Divide(3,2); + int i1 = 0; // STR_FRONT_E_RAW - c1->cd(i+2); + c1->cd(++i1); name = "SHARC"+NPL::itoa(i+1)+"_STR_FRONT_E_RAW"; AddHisto2D(name, name, fStripFront, 1, fStripFront+1, 512, 0, 8192, "SHARC/RAW/STR_FRONT_E")->Draw("colz"); // STR_BACK_E_RAW - c1->cd(i+3); + c1->cd(++i1); name = "SHARC"+NPL::itoa(i+1)+"_STR_BACK_E_RAW"; AddHisto2D(name, name, fStripBack, 1, fStripBack+1, 512, 0, 8192, "SHARC/RAW/STR_BACK_E")->Draw("colz"); // PAD_E_RAW - c2->cd(i+5); + c1->cd(++i1); name = "SHARC"+NPL::itoa(i+1)+"_PAD_E_RAW"; AddHisto1D(name, name, 512, 0, 16384, "SHARC/RAW/PAD_E")->Draw(""); // STR_FRONT_RAW_MULT - c1->cd(i+4); + c1->cd(++i1); name = "SHARC"+NPL::itoa(i+1)+"_STR_FRONT_RAW_MULT"; AddHisto1D(name, name, fStripFront, 1, fStripFront+1, "SHARC/RAW/MULT")->Draw(""); - + gPad->SetLogy(); + // STR_BACK_RAW_MULT - c1->cd(i+5); + c1->cd(++i1); name = "SHARC"+NPL::itoa(i+1)+"_STR_BACK_RAW_MULT"; AddHisto1D(name, name, fStripFront, 1, fStripFront+1, "SHARC/RAW/MULT")->Draw(""); + gPad->SetLogy(); // PAD_RAW_MULT - c2->cd(i+2); + c1->cd(++i1); name = "SHARC"+NPL::itoa(i+1)+"_PAD_RAW_MULT"; AddHisto1D(name, name, fNumberOfDetector, 1, fNumberOfDetector+1, "SHARC/RAW/MULT")->Draw(""); - + gPad->SetLogy(); + + AddCanvas(c1); } // end loop on number of detectors - AddCanvas(c1); - AddCanvas(c2); } ////////////////////////////////////////////////////////////////////////////////