00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 void TGo4HisDrawOptionsShort::init()
00018 {
00019 }
00020
00021 void TGo4HisDrawOptionsShort::SlotXlin()
00022 {
00023 SetDrawOpt(3, 0, "");
00024 }
00025
00026 void TGo4HisDrawOptionsShort::SlotXlog()
00027 {
00028 SetDrawOpt(3, 1, "");
00029 }
00030
00031 void TGo4HisDrawOptionsShort::SlotYlin()
00032 {
00033 SetDrawOpt(4, 0, "");
00034 }
00035
00036 void TGo4HisDrawOptionsShort::SlotYlog()
00037 {
00038 SetDrawOpt(4, 1, "");
00039 }
00040
00041 void TGo4HisDrawOptionsShort::SlotZlin()
00042 {
00043 SetDrawOpt(5, 0, "");
00044 }
00045
00046 void TGo4HisDrawOptionsShort::SlotZlog()
00047 {
00048 SetDrawOpt(5, 1, "");
00049 }
00050
00051 void TGo4HisDrawOptionsShort::SlotD1his()
00052 {
00053 SetDrawOpt(0, 0, "");
00054 }
00055
00056 void TGo4HisDrawOptionsShort::SlotD1line()
00057 {
00058 SetDrawOpt(0, 0, "L");
00059 }
00060
00061 void TGo4HisDrawOptionsShort::SlotD2scatter()
00062 {
00063 SetDrawOpt(0, 0, "");
00064 }
00065
00066 void TGo4HisDrawOptionsShort::SlotD2pixel()
00067 {
00068 SetDrawOpt(0, 0, "COLZ");
00069 }
00070
00071 void TGo4HisDrawOptionsShort::SlotD2surfcol()
00072 {
00073 SetDrawOpt(0, 0, "SURF2");
00074 }
00075
00076 void TGo4HisDrawOptionsShort::SlotD2lego()
00077 {
00078 SetDrawOpt(0, 0, "LEGO2");
00079 }
00080
00081 void TGo4HisDrawOptionsShort::SlotD2contfill()
00082 {
00083 SetDrawOpt(0, 0, "CONT0Z");
00084 }
00085
00086 void TGo4HisDrawOptionsShort::SlotD2contline()
00087 {
00088 SetDrawOpt(0, 0, "CONT1Z");
00089 }
00090
00091 void TGo4HisDrawOptionsShort::SlotLineColor()
00092 {
00093 ChangeColor(0);
00094 }
00095
00096 void TGo4HisDrawOptionsShort::SlotFillColor()
00097 {
00098 ChangeColor(1);
00099 }
00100
00101 void TGo4HisDrawOptionsShort::SlotMarkerColor()
00102 {
00103 ChangeColor(2);
00104 }
00105
00106 void TGo4HisDrawOptionsShort::ChangeColor(int kind)
00107 {
00108 TGo4ViewPanel* panel = TGo4WorkSpace::Instance()->GetActivePanel();
00109 if (panel==0) return;
00110
00111 TPad* pad = panel->GetActivePad();
00112 TObject* obj = panel->GetSelectedObject(pad, 0);
00113
00114 Color_t icol = 0;
00115
00116 switch (kind) {
00117 case 0: {
00118 TAttLine* att = dynamic_cast<TAttLine*> (obj);
00119 if (att==0) return;
00120 icol = att->GetLineColor();
00121 break;
00122 }
00123 case 1: {
00124 TAttFill* att = dynamic_cast<TAttFill*> (obj);
00125 if (att==0) return;
00126 icol = att->GetFillColor();
00127 break;
00128 }
00129 case 2: {
00130 TAttMarker* att = dynamic_cast<TAttMarker*> (obj);
00131 if (att==0) return;
00132 icol = att->GetMarkerColor();
00133 break;
00134 }
00135 }
00136
00137 TColor* rcol = gROOT->GetColor(icol);
00138
00139 QColor qcol;
00140
00141 if (rcol!=0)
00142 qcol.setRgb(rcol->GetRed(), rcol->GetGreen(), rcol->GetBlue());
00143
00144 QColor c = QColorDialog::getColor(qcol);
00145 if (!c.isValid()) return;
00146
00147 icol = TColor::GetColor(c.red(), c.green(), c.blue());
00148
00149 switch (kind) {
00150 case 0: {
00151 TAttLine* att = dynamic_cast<TAttLine*> (obj);
00152 if (att!=0) att->SetLineColor(icol);
00153 break;
00154 }
00155 case 1: {
00156 TAttFill* att = dynamic_cast<TAttFill*> (obj);
00157 if (att!=0) att->SetFillColor(icol);
00158 break;
00159 }
00160 case 2: {
00161 TAttMarker* att = dynamic_cast<TAttMarker*> (obj);
00162 if (att!=0) att->SetMarkerColor(icol);
00163 break;
00164 }
00165 }
00166
00167 panel->MarkPadModified(pad);
00168
00169 panel->ShootRepaintTimer(pad);
00170
00171 panel->ActivateInGedEditor(obj);
00172 }
00173
00174 void TGo4HisDrawOptionsShort::SetDrawOpt(int kind, int value, char *dropt)
00175 {
00176 TGo4ViewPanel* panel = TGo4WorkSpace::Instance()->GetActivePanel();
00177 if (panel!=0) panel->ChangeDrawOption(kind, value,dropt);
00178 }
00179
00180