This file is indexed.

/usr/include/wxsmith/wxwidgets/properties/wxsdimensionproperty.h is in libwxsmithlib-dev 10.05-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
151
152
/*
* This file is part of wxSmith plugin for Code::Blocks Studio
* Copyright (C) 2006-2007  Bartlomiej Swiecki
*
* wxSmith 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 3 of the License, or
* (at your option) any later version.
*
* wxSmith is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with wxSmith. If not, see <http://www.gnu.org/licenses/>.
*
* $Revision: 4850 $
* $Id: wxsdimensionproperty.h 4850 2008-01-29 21:45:49Z byo $
* $HeadURL: svn+ssh://jenslody@svn.berlios.de/svnroot/repos/codeblocks/trunk/src/plugins/contrib/wxSmith/wxwidgets/properties/wxsdimensionproperty.h $
*/

#ifndef WXSDIMENSIONPROPERTY_H
#define WXSDIMENSIONPROPERTY_H

#include "../../properties/wxsproperties.h"
#include "../../wxscodinglang.h"
#include "../wxscodercontext.h"

struct wxsDimensionData
{
    long Value;
    bool DialogUnits;

    wxsDimensionData(): Value(0), DialogUnits(false) {}

    /** \brief Function converting dimension to pixels
     *  \param Value value in dialog/pixel units
     *  \param DialogUnits true when Value is in dualog units, false if it's in pixels
     *  \param Parent parent window used as base for calculating size
     */
    inline long GetPixels(wxWindow* Parent)
    {
        return DialogUnits ?
            wxDLG_UNIT(Parent,wxSize(Value,0)).GetWidth() :
            Value;
    }

    /** \brief Function converting pixel units to dialog ones
     *  \param Value value in pixels
     *  \param DialogUnits true when should convert units to dialog, false if should be left in pixels
     *  \param Parent parent window used as base for recalculating size
     */
    inline long GetDialogUnits(wxWindow* Parent)
    {
        return !DialogUnits ?
            Parent->ConvertPixelsToDialog(wxSize(Value,0)).GetWidth() :
            Value;
    }

    /** \brief Function getting code returning valid value in pixels
     *
     * This function may be used when generating code. It will return
     * correct representation of value which may be directly passed
     * to created object.
     *
     *  \param Value value in dialog/pixel units
     *  \param DialogUnits true when Value is in dualog units, false if it's in pixels
     *  \param ParentName name of variable holding pointer to parent class
     *  \param Language language of generated code
     */
    wxString GetPixelsCode(wxsCoderContext* Context);

};

/** \brief Dimension property (long integer value which may be in pixel or dialog units) */
class wxsDimensionProperty: public wxsProperty
{
	public:

        /** \brief Ctor
         *  \param PGName               name of property in Property Grid
         *  \param PGDUName             name of "use dialog units" property
         *  \param DataName             name of property in data stuctures
         *  \param Offset               offset of wxsDimensionData value (taken from wxsOFFSET macro)
         *  \param DefaultValue         default value applied on read errors
         *  \param DefaultDialogUnits   default value applied for pixel / dialog units switch on read errors
         *  \param Priority             priority of this property
         */
		wxsDimensionProperty(
            const wxString& PGName,
            const wxString& PGDUName,
            const wxString& DataName,
            long Offset,
            long DefaultValue=0,
            bool DefaultDialogUnits=false,
            int Priority=100);

		/** \brief Returning type name */
		virtual const wxString GetTypeName() { return _T("wxsDimension"); }

    protected:

        virtual void PGCreate(wxsPropertyContainer* Object,wxPropertyGridManager* Grid,wxPGId Parent);
        virtual bool PGRead(wxsPropertyContainer* Object,wxPropertyGridManager* Grid, wxPGId Id,long Index);
        virtual bool PGWrite(wxsPropertyContainer* Object,wxPropertyGridManager* Grid, wxPGId Id,long Index);
        virtual bool XmlRead(wxsPropertyContainer* Object,TiXmlElement* Element);
        virtual bool XmlWrite(wxsPropertyContainer* Object,TiXmlElement* Element);
        virtual bool PropStreamRead(wxsPropertyContainer* Object,wxsPropertyStream* Stream);
        virtual bool PropStreamWrite(wxsPropertyContainer* Object,wxsPropertyStream* Stream);

	private:
        long Offset;
        long DefaultValue;
        bool DefaultDialogUnits;

        wxString PGDUName;
};

/** \addtogroup ext_properties_macros
 *  \{ */

/** \brief Macro automatically declaring dimension property
 *  \param ClassName name of class holding this property
 *  \param VarName name of wxsDimensionData variable inside class
 *  \param PGName name used in property grid
 *  \param PGDUName name of "use dialog units" property in grid
 *  \param DataName name used in Xml / Data Streams
 *  \param Default default value for dimension (integer)
 *  \param DUDefault default value for dualog units (boolean)
 */
#define WXS_DIMENSION(ClassName,VarName,PGName,PGDUName,DataName,Default,DUDefault) \
    { static wxsDimensionProperty _Property(PGName,PGDUName,DataName,wxsOFFSET(ClassName,VarName),Default,DUDefault); \
      Property(_Property); }

/** \brief Macro automatically declaring dimension property with custom priority
 *  \param ClassName name of class holding this property
 *  \param VarName name of wxsDimensionData variable inside class
 *  \param PGName name used in property grid
 *  \param PGDUName name of "use dialog units" property in grid
 *  \param DataName name used in Xml / Data Streams
 *  \param Default default value for dimension (integer)
 *  \param DUDefault default value for dualog units (boolean)
 *  \param Priority priority of this property
 */
#define WXS_DIMENSION_P(ClassName,VarName,PGName,PGDUName,DataName,Default,DUDefault,Priority) \
    { static wxsDimensionProperty _Property(PGName,PGDUName,DataName,wxsOFFSET(ClassName,VarName),Default,DUDefault,Priority); \
      Property(_Property); }

/** \} */

#endif