52 const TGFont *TGLVEntry::fgDefaultFont = 0;
53 TGGC *TGLVEntry::fgDefaultGC = 0;
55 const TGFont *TGListView::fgDefaultFont = 0;
56 TGGC *TGListView::fgDefaultGC = 0;
70 TGFrame(p, 10, 10, options, back)
78 fCheckMark = fClient->GetPicture(
"checkmark_t.xpm");
90 fFontStruct = GetDefaultFontStruct();
91 fNormGC = GetDefaultGC()();
93 Int_t max_ascent, max_descent;
94 fTWidth =
gVirtualX->TextWidth(fFontStruct,
95 fItemName ? fItemName->GetString() :
"",
96 fItemName ? fItemName->GetLength() : 0);
97 gVirtualX->GetFontProperties(fFontStruct, max_ascent, max_descent);
98 fTHeight = max_ascent + max_descent;
102 for (i = 0; fSubnames[i] != 0; ++i)
106 for (i = 0; fSubnames[i] != 0; ++i) {
107 fCtw[i] =
gVirtualX->TextWidth(fFontStruct, fSubnames[i]->GetString(),
108 fSubnames[i]->GetLength());
115 SetViewMode(viewMode);
128 TGFrame(p, 10, 10, options, back)
157 Int_t max_ascent, max_descent;
160 fTHeight = max_ascent + max_descent;
198 const char* n4,
const char* n5,
const char* n6,
199 const char* n7,
const char* n8,
const char* n9,
200 const char* n10,
const char* n11,
const char* n12)
211 if (n12 && strlen(n12)) ncol=12;
212 else if (n11 && strlen(n11)) ncol=11;
213 else if (n10 && strlen(n10)) ncol=10;
214 else if (n9 && strlen(n9)) ncol=9;
215 else if (n8 && strlen(n8)) ncol=8;
216 else if (n7 && strlen(n7)) ncol=7;
217 else if (n6 && strlen(n6)) ncol=6;
218 else if (n5 && strlen(n5)) ncol=5;
219 else if (n4 && strlen(n4)) ncol=4;
220 else if (n3 && strlen(n3)) ncol=3;
221 else if (n2 && strlen(n2)) ncol=2;
222 else if (n1 && strlen(n1)) ncol=1;
242 fCtw =
new int[ncol];
245 for (
int i = 0; i<ncol; i++) {
294 if (!bigpic || !smallpic)
return;
326 Int_t ix, iy, lx, ly;
327 Int_t max_ascent, max_descent;
331 fTHeight = max_ascent + max_descent;
365 if ( ftmpWidth > (
fCpos[0] - lx) ) {
367 tmpString = (*fItemName)(0,j) +
"...";
370 if ( ftmpWidth <= (
fCpos[0] - lx) ) {
388 tmpTGString.
Draw(
id,
fNormGC, x+lx, y+ly + max_ascent);
432 for (
int j =
fSubnames[i]->Length() - 1 ; j > 0; j--) {
433 tmpString = (*
fSubnames[i])(0,j) +
"...";
445 lx =
fCpos[i+1] - ftmpWidth - 2;
447 lx = (
fCpos[i] +
fCpos[i+1] - ftmpWidth) >> 1;
453 tmpTGString.
Draw(
id,
fNormGC, x + lx, y + ly + max_ascent);
474 size.
fHeight = isize.fHeight + lsize.fHeight + 6;
480 size.
fWidth = isize.fWidth + lsize.fWidth + 4;
566 const char* n4,
const char* n5,
const char* n6,
567 const char* n7,
const char* n8,
const char* n9,
568 const char* n10,
const char* n11,
const char* n12)
573 if (n12 && strlen(n12)) ncol=12;
574 else if (n11 && strlen(n11)) ncol=11;
575 else if (n10 && strlen(n10)) ncol=10;
576 else if (n9 && strlen(n9)) ncol=9;
577 else if (n8 && strlen(n8)) ncol=8;
578 else if (n7 && strlen(n7)) ncol=7;
579 else if (n6 && strlen(n6)) ncol=6;
580 else if (n5 && strlen(n5)) ncol=5;
581 else if (n4 && strlen(n4)) ncol=4;
582 else if (n3 && strlen(n3)) ncol=3;
583 else if (n2 && strlen(n2)) ncol=2;
584 else if (n1 && strlen(n1)) ncol=1;
720 Int_t width, maxwidth = 0;
784 newpos = pos.
fY - page;
785 if (newpos < 0) newpos = 0;
802 fXp = pos.
fX +
event->fX;
803 fYp = pos.
fY +
event->fY;
821 select_frame =
kTRUE;
825 select_frame =
kTRUE;
829 if (select_frame || last==el->
fFrame)
830 inSelection = !inSelection;
831 if (inSelection || select_frame) {
845 total = selected = 0;
857 select_frame =
kTRUE;
861 select_frame =
kTRUE;
886 if ( selected == 0 ) {
1047 if (x > hw && (hb && !hb->
IsMapped())) {
1166 this,
"ScrollHeader(Int_t)");
1196 Int_t i, xl = - pos;
1217 if (ncolumns <= 0) {
1218 Error(
"SetHeaders",
"number of columns must be > 0");
1249 this,
"LayoutHeader(TGFrame *)");
1251 this,
"SetDefaultColumnWidth(TGVFileSplitter*)");
1278 Error(
"SetHeader",
"header index must be [0 - %d>",
fNColumns-1);
1289 if (txt.
Contains(
"modified")) txt +=
" date";
1290 if (txt.
Contains(
"attributes")) txt =
"type";
1365 Error(
"SetContainer",
"frame must inherit from TGLVContainer");
1385 Error(
"SetDefaultColumnWidth",
"no listview container set yet");
1412 Error(
"ResizeColumns",
"no listview container set yet");
1431 Error(
"Layout",
"no listview container set yet");
1454 for (
int j =
fColNames[i].Length() - 1 ; j > 0; j--) {
1496 container->
Move(0, h);
1505 container->
Move(0, 0);
1518 static Int_t oldPos = 0;
1519 if (head == 0) oldPos = 0;
1524 Error(
"Layout",
"no listview container set yet");
1547 for (
int j =
fColNames[i].Length() - 1 ; j > 0; j--) {
1628 Emit(
"Clicked(TGLVEntry*,Int_t)", args);
1643 Emit(
"Clicked(TGLVEntry*,Int_t,Int_t,Int_t)", args);
1656 Emit(
"DoubleClicked(TGLVEntry*,Int_t)", args);
1671 Emit(
"DoubleClicked(TGLVEntry*,Int_t,Int_t,Int_t)", args);
1703 out << std::endl <<
" // list view" << std::endl;
1704 out <<
" TGListView *";
1710 out <<
");" << std::endl;
1717 if (option && strstr(option,
"keep_names"))
1718 out <<
" " <<
GetName() <<
"->SetName(\"" <<
GetName() <<
"\");" << std::endl;
1724 <<
");" << std::endl;
1725 out <<
" " <<
GetName() <<
"->SetViewMode(";
1728 out <<
"kLVLargeIcons";
1731 out <<
"kLVSmallIcons";
1737 out <<
"kLVDetails";
1740 out <<
");" << std::endl;
1746 <<
");" << std::endl;
1751 <<
");" << std::endl;
1762 out << std::endl <<
" // list view container" << std::endl;
1763 out <<
" TGLVContainer *";
1773 out <<
");" << std::endl;
1780 if (option && strstr(option,
"keep_names"))
1781 out <<
" " <<
GetName() <<
"->SetName(\"" <<
GetName() <<
"\");" << std::endl;
virtual void Resize(UInt_t w=0, UInt_t h=0)
Resize the frame.
virtual const char * GetName() const
Return unique name, used in SavePrimitive methods.
virtual const TGFrame * GetNextSelected(void **current)
Return the next selected item.
virtual void Activate(Bool_t a)
Make list view item active.
virtual void RemoveAll()
Remove all items from the container.
virtual Bool_t IsActive() const
virtual void MoveResize(Int_t x, Int_t y, UInt_t w=0, UInt_t h=0)
Move and/or resize the frame.
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
const TGWindow * GetParent() const
virtual Int_t NumSelected() const
ClassImp(TSeqCollection) Int_t TSeqCollection TIter next(this)
Return index of object in collection.
virtual void Clicked(TGLVEntry *entry, Int_t btn)
Emit Clicked() signal.
Collectable string class.
const TGPicture * GetIcon(const char *filename, Bool_t small_icon)
Return icon belonging to mime type of filename.
const Mask_t kKeyShiftMask
virtual void SetVsbPosition(Int_t newPos)
Set position of vertical scrollbar.
virtual TGDimension GetPageDimension() const
Returns page dimension.
virtual void LineLeft(Bool_t select=kFALSE)
Move current position one column left.
virtual void RemoveItemWithData(void *userData)
Remove item with fUserData == userData from container.
virtual Int_t GetSubnameWidth(Int_t idx) const
virtual void LineDown(Bool_t select=kFALSE)
Move one line down.
virtual void SetFrame(TGFrame *frame, Bool_t left)
Set frame to be resized.
FontH_t GetFontHandle() const
TGLVContainer(const TGLVContainer &)
virtual void SetContainer(TGFrame *f)
static const TGGC & GetLineGC()
Get graphics context for line drawing.
virtual void SetTextJustify(Int_t tmode)
Set text justification.
TGVFileSplitter ** fSplitHeader
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save a list view widget as a C++ statement(s) on output stream out.
virtual void SetLayoutManager(TGLayoutManager *l)
Set the layout manager for the composite frame.
static Pixel_t fgWhitePixel
const TGPicture * fCheckMark
Short_t Min(Short_t a, Short_t b)
void ToLower()
Change string to lower-case.
virtual TTimer * RemoveTimer(TTimer *t)
Remove timer from list of system timers.
virtual void SetSubnames(const char *n1="", const char *n2="", const char *n3="", const char *n4="", const char *n5="", const char *n6="", const char *n7="", const char *n8="", const char *n9="", const char *n10="", const char *n11="", const char *n12="")
Sets new subnames.
virtual void SetColumns(Int_t *cpos, Int_t *jmode)
Set column information for list items.
virtual void AdjustPosition()
Move content to position of highlighted/activated frame.
static Pixel_t fgDefaultSelectedBackground
virtual void SetViewMode(EListViewMode viewMode)
Set list view mode.
virtual void LayoutHeader(TGFrame *head)
Layout list view components (container and contents of container).
virtual void SelectionChanged()
virtual void SetColHeaders(const char *n1="", const char *n2="", const char *n3="", const char *n4="", const char *n5="", const char *n6="", const char *n7="", const char *n8="", const char *n9="", const char *n10="", const char *n11="", const char *n12="")
set columns headers
const TGWindow * fMsgWindow
virtual void SetViewMode(EListViewMode viewMode)
Set list view mode for container.
virtual void Layout()
Layout list view components (container and contents of container).
TString GetString() const
static const TGGC & GetDefaultGC()
Return the default graphics context in use.
virtual ~TGLVContainer()
Delete list view container.
void Draw(Option_t *="")
Default Draw method for all objects.
virtual void LineRight(Bool_t select=kFALSE)
Move current position one column right.
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save a list view container as a C++ statement(s) on output stream out.
Pixel_t GetSelectedFgndColor() const
const char * Data() const
virtual TGFrameElement * FindFrame(Int_t x, Int_t y, Bool_t exclude=kTRUE)
Find frame located int container at position x,y.
TList * GetSelectedEntries()
Get list of selected items in container.
virtual TGDimension GetDefaultSize() const
std::cout << fWidth << "x" << fHeight << std::endl;
virtual void SetDefaultHeaders()
Default headers are: Name, Attributes, Size, Owner, Group, Modified.
static Pixel_t GetDefaultFrameBackground()
Get default frame background.
virtual void SetHsbPosition(Int_t newPos)
set new hor. position
virtual UInt_t GetOptions() const
TGFrameElement * fLastActiveEl
virtual void SetIncrements(Int_t hInc, Int_t vInc)
Set horizontal and vertical scrollbar increments.
virtual void ScrollHeader(Int_t pos)
Scroll header buttons with horizontal scrollbar.
static Pixel_t fgBlackPixel
if(pyself &&pyself!=Py_None)
virtual Int_t GetHsbPosition() const
Get position of horizontal scrollbar.
virtual TGDimension GetDefaultSize() const
Get default size of list item.
virtual void SendMessage(const TGWindow *w, Long_t msg, Long_t parm1, Long_t parm2)
Send message (i.e.
virtual void SetDefaultColumnWidth(TGVFileSplitter *splitter)
Set default column width of the columns headers.
TGVScrollBar * fVScrollbar
virtual void DoubleClicked(TGLVEntry *entry, Int_t btn)
Emit DoubleClicked() signal.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
TGListView(const TGListView &)
virtual UInt_t GetDefaultWidth() const
virtual void RemoveItem(TGFrame *item)
Remove item from container.
void Emit(const char *signal)
Acitvate signal without args.
virtual void Layout()
Layout container entries.
TGTextButton ** fColHeader
virtual Int_t MustCleanup() const
Bool_t Connect(const char *signal, const char *receiver_class, void *receiver, const char *slot)
Non-static method is used to connect from the signal of this object to the receiver slot...
void SetFont(FontH_t v)
Set font.
const TGPicture * fSmallPic
static TGGC * fgDefaultGC
virtual void SavePrimitive(std::ostream &out, Option_t *option="")
Save a frame widget as a C++ statement(s) on output stream out.
TGLVEntry(const TGLVEntry &)
R__EXTERN TSystem * gSystem
virtual TGHScrollBar * GetHScrollbar() const
returns pointer to hor. scroll bar
virtual void DrawCopy(Handle_t id, Int_t x, Int_t y)
Draw list view item in other window.
static FontStruct_t GetDefaultFontStruct()
Return the default font structure in use.
TGCanvas * GetCanvas() const
TGFrame * GetContainer() const
virtual void DrawRegion(Int_t x, Int_t y, UInt_t w, UInt_t h)
Draw a region of container in viewport.
char * Form(const char *fmt,...)
EListViewMode GetViewMode() const
TGDimension GetMaxItemSize() const
virtual void DeActivateItem(TGFrameElement *el)
Unselect/deactivate item.
virtual void ActivateItem(TGFrameElement *el)
Select/activate item.
virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
Handle message generated by the canvas scrollbars.
virtual ~TGListView()
Delete a list view widget.
TList * GetSelectedItems()
Get list of selected items in container.
TGMimeTypes * GetMimeTypeList() const
virtual void ClearViewPort()
Clear view port and redraw full content.
virtual void Move(Int_t x, Int_t y)
Move frame.
virtual void LineUp(Bool_t select=kFALSE)
Make current position first line in window by scrolling up.
virtual void SetText(TGHotString *new_label)
Set new button text.
virtual TObject * Last() const
Return the last object in the list. Returns 0 when list is empty.
TGLayoutHints * fItemLayout
TGHScrollBar * fHScrollbar
virtual const char * GetHeader(Int_t idx) const
Returns name of header idx.
void select(Int_t replica=1, Int_t color=kGreen)
const TGResourcePool * GetResourcePool() const
static const TGFont * fgDefaultFont
virtual Bool_t HandleButton(Event_t *event)
Handle mouse button event in container.
static const TGFont * fgDefaultFont
virtual void SetPictures(const TGPicture *bigpic=0, const TGPicture *smallpic=0)
change pictures
ClassImp(TGLVEntry) ClassImp(TGLVContainer) ClassImp(TGListView) TGLVEntry
Create a list view item.
virtual void RaiseWindow()
const TGPicture * GetPicture(const char *name)
Get picture from the picture pool.
void * GetUserData() const
virtual void SetVsbPosition(Int_t newPos)
Set position of vertical scrollbar.
virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
Handle messages generated by the list view components.
virtual Bool_t IsMapped()
Returns kTRUE if window is mapped on screen, kFALSE otherwise.
virtual void UnSelectAll()
Unselect all items in the container.
virtual void SetViewMode(EListViewMode viewMode)
Set the view mode for this list item.
virtual TGPosition GetPagePosition() const
Returns page position.
const TGPicture * fCurrent
TGSelectedPicture * fSelPic
virtual void SetHeaders(Int_t ncolumns)
Set number of headers, i.e.
virtual TObject * First() const
Return the first object in the list. Returns 0 when list is empty.
static const TGGC & GetDefaultGC()
Return the default graphics context in use.
static TGGC * fgDefaultGC
virtual void UnmapWindow()
virtual void Layout()
Create layout for canvas.
virtual UInt_t GetDefaultHeight() const
FontStruct_t GetFontStruct() const
virtual void Add(TObject *obj)
Short_t Max(Short_t a, Short_t b)
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
virtual void ActivateItem(TGFrameElement *el)
Activate item.
void NeedRedraw(TGWindow *w, Bool_t force=kFALSE)
Set redraw flags.
virtual Int_t GetMaxSubnameWidth(Int_t idx) const
Get width of largest subname in container.
virtual void DoRedraw()
Redraw list view item.
void SaveUserColor(std::ostream &out, Option_t *)
Save a user color in a C++ macro file - used in SavePrimitive().
virtual void SetHeader(const char *s, Int_t hmode, Int_t cmode, Int_t idx)
Set header button idx [0-fNColumns>, hmode is the x text alignmode (ETextJustification) for the heade...
const char * GetString() const
TGFrame * GetContainer() const
const Mask_t kKeyControlMask
virtual TGDimension GetMaxItemSize() const
Get size of largest item in container.
virtual void ResizeColumns()
Resize column headers to show whole item names.
virtual ~TGLVEntry()
Delete a list view item.
const TGPicture * fBigPic
static FontStruct_t GetDefaultFontStruct()
Return the default font structure in use.
virtual void DeActivateItem(TGFrameElement *el)
DeActivate item.
virtual void SetContainer(TGFrame *f)
Set list view container.
virtual void SetDefaultWidth(UInt_t)
TString GetOptionString() const
Returns a frame option string - used in SavePrimitive().
virtual void DestroyWindow()
virtual void Draw(Drawable_t id, GContext_t gc, Int_t x, Int_t y)
Draw string.
virtual TGLayoutManager * GetLayoutManager() const
virtual Int_t GetVsbPosition() const
Get position of vertical scrollbar.
virtual void Clicked(TGFrame *f, Int_t btn)
Emit Clicked() signal.
virtual Bool_t HandleButton(Event_t *event)
Handle mouse button event in container.