summaryrefslogtreecommitdiffstats
path: root/adept/libadept/view.h
blob: 227c29f0433b3f7266290a165aaaaa5a3a899ee2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
// -*- C++ -*-

#include <deque>

#include <tqsplitter.h>
#include <tqwidgetstack.h>

#include <adept/lister.h>
#include <adept/filterlist.h>

#ifndef EPT_VIEW_H
#define EPT_VIEW_H

class TQSplitter;

namespace adept {

class FilterSidebar;
class PackageDetails;

class View: public TQSplitter, public Lister::RangeProvider {
    Q_OBJECT
  
public:
    View( TQWidget *p = 0, const char *n = 0 );
    FilterList *filterList() { return m_flist; }
    Lister *lister() { return m_lister; }
    virtual Lister::Range listerRange();
public slots:
    void cleanRebuild() { m_lister->cleanRebuild(); }
    void hideFilters();
    void hideTags();
    void setPreviewMode();
    void setUpgradeMode();
protected slots:
    void delayed();
protected:
    predicate::Predicate< entity::Entity > previewPredicate();
    TQSplitter *m_bottom;
    FilterList *m_flist;
    Lister *m_lister;
    FilterSidebar *m_sidebar;
};

class Browser : public TQWidgetStack {
    Q_OBJECT
  
public:
    Browser( TQWidget *p = 0, const char *n = 0 );
    View *searchView() const { return m_view; }
public slots:
    void forward();
    void back();
    void show( Lister::Entity e );
    void showList();
    void doShow( Lister::Entity e );
protected:
    typedef std::deque< Lister::Entity > Deque;
    Deque m_forward, m_back;
    entity::Entity m_current;
    View *m_view;
    PackageDetails *m_details;
    bool m_currentValid;
};

}

#endif