You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdeedu/kstars/kstars/skyobjectname.h

95 lines
3.0 KiB

/***************************************************************************
skyobjectname.h - description
-------------------
begin : Wed Aug 22 2001
copyright : (C) 2001 by Thomas Kabelmann
email : kstars@30doradus.org
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef SKYOBJECTNAME_H
#define SKYOBJECTNAME_H
#include <tqstring.h>
#include <klistbox.h>
#include <klocale.h>
/**@class SkyObjectName
*Convenience class which contains a SkyObject's name and a pointer to the SkyObject
*itself. This class is used to construct the List of named objects that may be
*located with the FindDialog.
*@short convenience class for indexing SkyObjects by name.
*@author Thomas Kabelmann
*@version 1.0
*/
class SkyObject;
class SkyObjectName {
public:
/**Constructor*/
SkyObjectName (const TQString &str = TQString(), SkyObject *obj = 0);
/**Destructor (empty)*/
~SkyObjectName() {}
/**@return the name of the SkyObject*/
TQString text() { return Text; }
/**@return translated version of the SkyObject's name*/
TQString translatedText() { return i18n( Text.local8Bit().data()); }
/**@return pointer to the SkyObject*/
SkyObject *skyObject() { return skyobject; }
/**Comparison operator, needed for sorting.
*/
bool operator < (SkyObjectName &o) { return Text < o.Text; }
/**Equivalence operator, needed for sorting.
*/
bool operator == (SkyObjectName &o) { return Text == o.Text; }
private:
SkyObject *skyobject;
TQString Text;
};
/**Class for filling list of named objects in the Find Object dialog (FindDialog).
*The class is derived from TQListBoxText, and adds a SkyObjectName* member variable,
*and a method to retrieve this variable (a pointer). This makes it very easy
*to add these items to the FindDialog's TQListBox, and to sort and filter them.
*@short Derivative of TQListBoxItem specifically for SkyObjects
*@author Thomas Kabelmann
*@version 0.9
*/
class SkyObjectNameListItem : public TQListBoxText {
public:
/**Constructor */
SkyObjectNameListItem (TQListBox *parent, SkyObjectName *name );
/**Destructor (empty)*/
~SkyObjectNameListItem() {}
/**@returns pointer to SkyObjectName associated with this SkyObjectNameListItem */
SkyObjectName * objName() { return object; }
private:
SkyObjectName *object;
};
#endif