//*CMZ : 2.00/00 28/02/98 11.12.17 by Fons Rademakers
//*-- Author : Fons Rademakers 25/02/98
//*KEEP,CopyRight,T=C.
/*************************************************************************
* Copyright(c) 1995-1999, The ROOT System, All rights reserved. *
* Authors: Rene Brun, Fons Rademakers. *
* For list of contributors see $ROOTSYS/AA_CREDITS. *
* *
* Permission to use, copy, modify and distribute this software and its *
* documentation for non-commercial purposes is hereby granted without *
* fee, provided that the above copyright notice appears in all copies *
* and that both the copyright notice and this permission notice appear *
* in the supporting documentation. The authors make no claims about the *
* suitability of this software for any purpose. It is provided "as is" *
* without express or implied warranty. *
*************************************************************************/
//*KEEP,CopyLeft.
/**************************************************************************
This source is based on Xclass95, a Win95-looking GUI toolkit.
Copyright (C) 1996, 1997 David Barth, Ricky Ralston, Hector Peraza.
Xclass95 is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
**************************************************************************/
//*KEND.
//////////////////////////////////////////////////////////////////////////
// //
// TGToolBar + TGHorizontal3DLine //
// //
// A toolbar is a composite frame that contains TGPictureButtons. //
// A horizontal 3D line is a line that typically separates a toolbar //
// from the menubar. //
// //
//////////////////////////////////////////////////////////////////////////
//*KEEP,TGToolBar.
#include "TGToolBar.h"
//*KEEP,TList.
#include "TList.h"
//*KEEP,TGButton.
#include "TGButton.h"
//*KEEP,TGPicture.
#include "TGPicture.h"
//*KEND.
ClassImp(TGToolBar)
ClassImp(TGHorizontal3DLine)
//______________________________________________________________________________
TGToolBar::TGToolBar(const TGWindow *p, UInt_t w, UInt_t h,
UInt_t options, ULong_t back) :
TGCompositeFrame(p, w, h, options, back)
{
// Create toolbar widget.
fWidgets = new TList;
fPictures = new TList;
}
//______________________________________________________________________________
TGToolBar::~TGToolBar()
{
// Delete toolbar and its buttons and layout hints.
if (fWidgets) fWidgets->Delete();
TIter next(fPictures);
const TGPicture *p;
while ((p = (const TGPicture *) next()))
fClient->FreePicture(p);
delete fWidgets;
delete fPictures;
}
//______________________________________________________________________________
void TGToolBar::AddButton(const TGWindow *w, ToolBarData_t *button, Int_t spacing)
{
// Add button to toolbar. All buttons added via this method will be
// deleted by the toolbar. On return the TGButton field of the
// ToolBarData_t struct is filled in (iff fPixmap was valid).
// Window w is the window to which the button messages will be send.
const TGPicture *pic = fClient->GetPicture(button->fPixmap);
if (!pic) {
Error("AddButton", "pixmap not found: %s", button->fPixmap);
return;
}
fPictures->Add((TObject*)pic);
TGPictureButton *pbut;
TGLayoutHints *layout;
pbut = new TGPictureButton(this, pic, button->fId);
pbut->SetToolTipText(button->fTipText);
layout = new TGLayoutHints(kLHintsTop | kLHintsLeft, spacing, 0, 2, 2);
AddFrame(pbut, layout);
pbut->AllowStayDown(button->fStayDown);
pbut->Associate(w);
button->fButton = pbut;
fWidgets->Add(pbut);
fWidgets->Add(layout);
}
ROOT page - Class index - Top of the page
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.