campo-sirio/ba/ba8301.h

62 lines
1.5 KiB
C
Raw Normal View History

#ifndef __MASKFLD_H
#include <maskfld.h>
#endif
#ifndef __TREE_H
#include <tree.h>
#endif
#ifndef __REPORT_H
#include "ba8302.h"
#endif
///////////////////////////////////////////////////////////
// TReport_tree
///////////////////////////////////////////////////////////
class TReport_tree : public TBidirectional_tree
{
TReport& _report;
TString4 _curr;
protected:
virtual bool get_description(TString& str) const;
virtual TImage* image(bool selected) const;
virtual void node2id(const TObject* node, TString& id) const;
public:
virtual bool goto_root();
virtual bool goto_firstson();
virtual bool goto_rbrother();
virtual bool goto_node(const TString &id);
virtual bool has_son() const;
virtual bool has_rbrother() const;
virtual TObject* curr_node() const { return (TObject*)&_curr; }
virtual bool has_root() const;
virtual bool has_father() const;
virtual bool has_lbrother() const;
virtual bool goto_father();
virtual bool goto_lbrother();
TReport_section& curr_section() const;
bool goto_node(char type, int level);
int image_height() const;
TReport_tree(TReport& r) : _report(r) { goto_root(); }
};
///////////////////////////////////////////////////////////
// TReport_drawer
///////////////////////////////////////////////////////////
class TReport_drawer : public TWindowed_field
{
protected:
virtual TField_window* create_window(int x, int y, int dx, int dy, WINDOW parent);
public:
void set_report(TReport* rep);
TReport_drawer(TMask* m) : TWindowed_field(m) { }
};