~ubuntu-branches/ubuntu/maverick/freecad/maverick

« back to all changes in this revision

Viewing changes to src/Base/FileTemplate.h

  • Committer: Bazaar Package Importer
  • Author(s): Teemu Ikonen
  • Date: 2009-07-16 18:37:41 UTC
  • Revision ID: james.westby@ubuntu.com-20090716183741-oww9kcxqrk991i1n
Tags: upstream-0.8.2237
ImportĀ upstreamĀ versionĀ 0.8.2237

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/***************************************************************************
 
2
 *   Copyright (c) YEAR YOUR NAME         <Your e-mail address>            *
 
3
 *                                                                         *
 
4
 *   This file is part of the FreeCAD CAx development system.              *
 
5
 *                                                                         *
 
6
 *   This library is free software; you can redistribute it and/or         *
 
7
 *   modify it under the terms of the GNU Library General Public           *
 
8
 *   License as published by the Free Software Foundation; either          *
 
9
 *   version 2 of the License, or (at your option) any later version.      *
 
10
 *                                                                         *
 
11
 *   This library  is distributed in the hope that it will be useful,      *
 
12
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 
13
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 
14
 *   GNU Library General Public License for more details.                  *
 
15
 *                                                                         *
 
16
 *   You should have received a copy of the GNU Library General Public     *
 
17
 *   License along with this library; see the file COPYING.LIB. If not,    *
 
18
 *   write to the Free Software Foundation, Inc., 59 Temple Place,         *
 
19
 *   Suite 330, Boston, MA  02111-1307, USA                                *
 
20
 *                                                                         *
 
21
 ***************************************************************************/
 
22
 
 
23
 
 
24
#ifndef BASE_FILETEMPLATE_H
 
25
#define BASE_FILETEMPLATE_H
 
26
 
 
27
// Std. configurations
 
28
 
 
29
#include "PyExport.h"
 
30
 
 
31
#include <string>
 
32
 
 
33
namespace Base
 
34
{
 
35
 
 
36
 
 
37
/** A test class. A more elaborate class description.
 
38
 * Detaild description with some formating:
 
39
 *  \par
 
40
 *  bla blablablablablablabl:
 
41
 *  \code
 
42
 *  #include <Base/Console.h>
 
43
 *  Base::Console().Log("Stage: %d",i);
 
44
 *  \endcode
 
45
 *  \par
 
46
 *  nother blablablablablablablablablabl:
 
47
 * Text before the list
 
48
 * - list item 1
 
49
 *   - sub item 1
 
50
 *     - sub sub item 1
 
51
 *     - sub sub item 2
 
52
 *     . 
 
53
 *     The dot above ends the sub sub item list.
 
54
 *     More text for the first sub item
 
55
 *   .
 
56
 *   The dot above ends the first sub item.
 
57
 *   More text for the first list item
 
58
 *   - sub item 2
 
59
 *   - sub item 3
 
60
 * - list item 2
 
61
 * .
 
62
 * More text in the same paragraph.
 
63
 *
 
64
 * More text in a new paragraph.
 
65
 * Also with HTML tags:
 
66
 *  <ul>
 
67
 *  <li> mouse events
 
68
 *     <ol>
 
69
 *     <li>mouse move event
 
70
 *     <li>mouse click event\n
 
71
 *         More info about the click event.
 
72
 *     <li>mouse double click event
 
73
 *     </ol>
 
74
 *  <li> keyboard events
 
75
 *     <ol>     
 
76
 *     <li>key down event
 
77
 *     <li>key up event
 
78
 *     </ol>
 
79
 *  </ul>
 
80
 *  More text here.
 
81
 *
 
82
 * \author YOUR NAME
 
83
 */
 
84
class BaseExport ClassTemplate
 
85
{
 
86
public:
 
87
    /// Construction
 
88
    ClassTemplate();
 
89
    /// Destruction
 
90
    virtual ~ClassTemplate();
 
91
 
 
92
    int testMe(int a,const char *s);
 
93
 
 
94
    /** 
 
95
     * An enum.
 
96
     * More detailed enum description.
 
97
     */
 
98
 
 
99
    enum TEnum { 
 
100
        TVal1, /**< enum value TVal1. */  
 
101
        TVal2, /**< enum value TVal2. */  
 
102
        TVal3  /**< enum value TVal3. */  
 
103
    } 
 
104
    *enumPtr, /**< enum pointer. Details. */
 
105
    enumVar;  /**< enum variable. Details. */
 
106
 
 
107
    /**
 
108
     * A pure virtual member.
 
109
     * @see testMe()
 
110
     * @param c1 the first argument.
 
111
     * @param c2 the second argument.
 
112
     */
 
113
    virtual void testMeToo(char c1,char c2) = 0;
 
114
 
 
115
    /** @name a group of methods */
 
116
    //@{
 
117
    /// I am method one
 
118
    virtual void one(void)=0;
 
119
    /// I am method two
 
120
    virtual void two(void)=0;
 
121
    /// I am method three
 
122
    virtual void three(void)=0;
 
123
    //@}
 
124
 
 
125
 
 
126
    /** 
 
127
    * a public variable.
 
128
    * Details.
 
129
    */
 
130
    int publicVar;
 
131
 
 
132
    /**
 
133
     * a function variable.
 
134
     * Details.
 
135
     */
 
136
    int (*handler)(int a,int b);
 
137
 
 
138
    std::string something;
 
139
};
 
140
 
 
141
} //namespace Base
 
142
 
 
143
#endif // BASE_FILETEMPLATE_H
 
144