From 565552dda1fe78a01574abf7ea4cd754b2e7941a Mon Sep 17 00:00:00 2001 From: adrien-matta <a.matta@surrey.ac.uk> Date: Sun, 14 Jun 2015 21:15:14 +0100 Subject: [PATCH] * Progress on NPOnline, now functionnal --- NPLib/Core/NPOnline.cxx | 252 +++++++++++++++++++++++----------- NPLib/Core/NPOnline.h | 59 ++++++-- NPLib/Core/icons/download.png | Bin 0 -> 17547 bytes NPLib/Core/icons/download.xpm | 155 +++++++++++++++++++++ NPLib/Core/icons/plugin.png | Bin 0 -> 3250 bytes NPLib/Core/icons/plugin.xpm | 162 ++++++++++++++++++++++ NPLib/Core/icons/power.png | Bin 0 -> 3747 bytes NPLib/Core/icons/power.xbm | 117 ++++++++++++++++ NPLib/Core/icons/power.xpm | 134 ++++++++++++++++++ NPLib/Core/icons/upload.png | Bin 0 -> 3187 bytes NPLib/Sharc/TSharcSpectra.cxx | 30 ++-- 11 files changed, 799 insertions(+), 110 deletions(-) create mode 100644 NPLib/Core/icons/download.png create mode 100644 NPLib/Core/icons/download.xpm create mode 100644 NPLib/Core/icons/plugin.png create mode 100644 NPLib/Core/icons/plugin.xpm create mode 100644 NPLib/Core/icons/power.png create mode 100644 NPLib/Core/icons/power.xbm create mode 100644 NPLib/Core/icons/power.xpm create mode 100644 NPLib/Core/icons/upload.png diff --git a/NPLib/Core/NPOnline.cxx b/NPLib/Core/NPOnline.cxx index 4b1056503..f6844bcf6 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 55f2ea3b0..d499fb962 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 GIT binary patch literal 17547 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 literal 0 HcmV?d00001 diff --git a/NPLib/Core/icons/download.xpm b/NPLib/Core/icons/download.xpm new file mode 100644 index 000000000..67cec5254 --- /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 GIT binary patch literal 3250 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 literal 0 HcmV?d00001 diff --git a/NPLib/Core/icons/plugin.xpm b/NPLib/Core/icons/plugin.xpm new file mode 100644 index 000000000..a49da8832 --- /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 GIT binary patch literal 3747 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 N002ovPDHLkV1lME0c8LH literal 0 HcmV?d00001 diff --git a/NPLib/Core/icons/power.xbm b/NPLib/Core/icons/power.xbm new file mode 100644 index 000000000..2fd52e56f --- /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 000000000..d5dd4c059 --- /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 GIT binary patch literal 3187 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 Z0RSyNoY@$+4$%Mr002ovPDHLkV1jDT<m&(c literal 0 HcmV?d00001 diff --git a/NPLib/Sharc/TSharcSpectra.cxx b/NPLib/Sharc/TSharcSpectra.cxx index f459114fc..a0177b8e1 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); } //////////////////////////////////////////////////////////////////////////////// -- GitLab