File: glcluster.h

package info (click to toggle)
postbooks 4.10.0-2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 112,660 kB
  • ctags: 22,890
  • sloc: cpp: 310,358; sh: 607; xml: 214; python: 140; awk: 104; makefile: 50
file content (150 lines) | stat: -rw-r--r-- 3,916 bytes parent folder | download
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
/*
 * This file is part of the xTuple ERP: PostBooks Edition, a free and
 * open source Enterprise Resource Planning software suite,
 * Copyright (c) 1999-2014 by OpenMFG LLC, d/b/a xTuple.
 * It is licensed to you under the Common Public Attribution License
 * version 1.0, the full text of which (including xTuple-specific Exhibits)
 * is available at www.xtuple.com/CPAL.  By using this software, you agree
 * to be bound by its terms.
 */

#ifndef glCluster_h
#define glCluster_h

#include "virtualCluster.h"
#include "parameter.h"
#include "projectcluster.h"
#include <QComboBox>

class XTUPLEWIDGETS_EXPORT accountList : public VirtualList
{
    Q_OBJECT

public:
    accountList(QWidget*, Qt::WindowFlags = 0);
    virtual XTreeWidget* xtreewidget();

public slots:
    virtual void set(const ParameterList & pParams);
    virtual void sFillList();

private:
    int          _accntid;
    bool         _showExternal;
    bool         _ignoreCompany;
    unsigned int _type;

};

class XTUPLEWIDGETS_EXPORT accountSearch : public VirtualSearch
{
    Q_OBJECT

public:
    accountSearch(QWidget*, Qt::WindowFlags = 0);

public slots:
    void set(const ParameterList & pParams);
    void sFillList();

protected:
    void showEvent(QShowEvent*);

private:
    int          _accntid;
    bool         _showExternal;
    bool         _ignoreCompany;
    unsigned int _typeval;
    QComboBox*   _type;
    QLabel*      _typeLit;
    QHBoxLayout* _typeStrLyt;
};

class XTUPLEWIDGETS_EXPORT GLClusterLineEdit : public VirtualClusterLineEdit
{
    Q_OBJECT

    public:
      GLClusterLineEdit(QWidget*, const char* = 0);

      unsigned int type()  const       { return _type; }
      void setType(unsigned int pType);

      bool showExternal()              { return _showExternal; }
      void setShowExternal(bool p);

      bool ignoreCompany()              { return _ignoreCompany; }
      void setIgnoreCompany(bool p);

      int companyId();

    public slots:
      void sList();
      void sSearch();
      void setId(const int);

    protected slots:
      accountList* listFactory();
      accountSearch* searchFactory();
      void buildExtraClause();
      void sParse();

    protected:
      QMap<QString, QString> _typeMap;

    private:
      unsigned int _type;
      bool _showExternal;
      bool _ignoreCompany;
      QStringList  _types;
};


class XTUPLEWIDGETS_EXPORT GLCluster : public VirtualCluster
{
  Q_OBJECT
    
  public:
    GLCluster(QWidget*, const char* = 0);

    enum Type {
      cUndefined  = 0x00,

      cAsset      = 0x01,
      cLiability  = 0x02,
      cExpense    = 0x04,
      cRevenue    = 0x08,
      cEquity     = 0x10
    };

    Q_INVOKABLE unsigned int type()  const       { return static_cast<GLClusterLineEdit*>(_number)->type(); }
    Q_INVOKABLE void setType(unsigned int pType) { static_cast<GLClusterLineEdit*>(_number)->setType(pType); }

    Q_INVOKABLE bool showExternal()              { return static_cast<GLClusterLineEdit*>(_number)->showExternal(); }
    Q_INVOKABLE void setShowExternal(bool p)     { static_cast<GLClusterLineEdit*>(_number)->setShowExternal(p); }

    Q_INVOKABLE bool ignoreCompany()             { return static_cast<GLClusterLineEdit*>(_number)->ignoreCompany(); }
    Q_INVOKABLE void setIgnoreCompany(bool p)    { static_cast<GLClusterLineEdit*>(_number)->setIgnoreCompany(p); }

    Q_INVOKABLE bool projectVisible();
    Q_INVOKABLE bool setProjectVisible(bool p);

    Q_INVOKABLE int  companyId()                 { return static_cast<GLClusterLineEdit*>(_number)->companyId(); }

  public slots:
    void setId(const int p, const QString& = QString::null);

  protected slots:
    void sHandleProjectState(int p);
    void sHandleProjectId();
    void sNewId(int p);

  private:
    ProjectLineEdit* _project;
    QLabel*          _projectLit;
    bool             _projectVisible;
    int              _id;
};

#endif