~ubuntu-branches/ubuntu/saucy/lazarus/saucy

« back to all changes in this revision

Viewing changes to ideintf/docs/projectintf.xml

  • Committer: Package Import Robot
  • Author(s): Paul Gevers, Abou Al Montacir, Bart Martens, Paul Gevers
  • Date: 2013-06-08 14:12:17 UTC
  • mfrom: (1.1.9)
  • Revision ID: package-import@ubuntu.com-20130608141217-7k0cy9id8ifcnutc
Tags: 1.0.8+dfsg-1
[ Abou Al Montacir ]
* New upstream major release and multiple maintenace release offering many
  fixes and new features marking a new milestone for the Lazarus development
  and its stability level.
  - The detailed list of changes can be found here:
    http://wiki.lazarus.freepascal.org/Lazarus_1.0_release_notes
    http://wiki.lazarus.freepascal.org/Lazarus_1.0_fixes_branch
* LCL changes:
  - LCL is now a normal package.
      + Platform independent parts of the LCL are now in the package LCLBase
      + LCL is automatically recompiled when switching the target platform,
        unless pre-compiled binaries for this target are already installed.
      + No impact on existing projects.
      + Linker options needed by LCL are no more added to projects that do
        not use the LCL package.
  - Minor changes in LCL basic classes behaviour
      + TCustomForm.Create raises an exception if a form resource is not
        found.
      + TNotebook and TPage: a new implementation of these classes was added.
      + TDBNavigator: It is now possible to have focusable buttons by setting
        Options = [navFocusableButtons] and TabStop = True, useful for
        accessibility and for devices with neither mouse nor touch screen.
      + Names of TControlBorderSpacing.GetSideSpace and GetSpace were swapped
        and are now consistent. GetSideSpace = Around + GetSpace.
      + TForm.WindowState=wsFullscreen was added
      + TCanvas.TextFitInfo was added to calculate how many characters will
        fit into a specified Width. Useful for word-wrapping calculations.
      + TControl.GetColorResolvingParent and
        TControl.GetRGBColorResolvingParent were added, simplifying the work
        to obtain the final color of the control while resolving clDefault
        and the ParentColor.
      + LCLIntf.GetTextExtentExPoint now has a good default implementation
        which works in any platform not providing a specific implementation.
        However, Widgetset specific implementation is better, when available.
      + TTabControl was reorganized. Now it has the correct class hierarchy
        and inherits from TCustomTabControl as it should.
  - New unit in the LCL:
      + lazdialogs.pas: adds non-native versions of various native dialogs,
        for example TLazOpenDialog, TLazSaveDialog, TLazSelectDirectoryDialog.
        It is used by widgetsets which either do not have a native dialog, or
        do not wish to use it because it is limited. These dialogs can also be
        used by user applications directly.
      + lazdeviceapis.pas: offers an interface to more hardware devices such
        as the accelerometer, GPS, etc. See LazDeviceAPIs
      + lazcanvas.pas: provides a TFPImageCanvas descendent implementing
        drawing in a LCL-compatible way, but 100% in Pascal.
      + lazregions.pas. LazRegions is a wholly Pascal implementation of
        regions for canvas clipping, event clipping, finding in which control
        of a region tree one an event should reach, for drawing polygons, etc.
      + customdrawncontrols.pas, customdrawndrawers.pas,
        customdrawn_common.pas, customdrawn_android.pas and
        customdrawn_winxp.pas: are the Lazarus Custom Drawn Controls -controls
        which imitate the standard LCL ones, but with the difference that they
        are non-native and support skinning.
  - New APIs added to the LCL to improve support of accessibility software
    such as screen readers.
* IDE changes:
  - Many improvments.
  - The detailed list of changes can be found here:
    http://wiki.lazarus.freepascal.org/New_IDE_features_since#v1.0_.282012-08-29.29
    http://wiki.lazarus.freepascal.org/Lazarus_1.0_release_notes#IDE_Changes
* Debugger / Editor changes:
  - Added pascal sources and breakpoints to the disassembler
  - Added threads dialog.
* Components changes:
  - TAChart: many fixes and new features
  - CodeTool: support Delphi style generics and new syntax extensions.
  - AggPas: removed to honor free licencing. (Closes: Bug#708695)
[Bart Martens]
* New debian/watch file fixing issues with upstream RC release.
[Abou Al Montacir]
* Avoid changing files in .pc hidden directory, these are used by quilt for
  internal purpose and could lead to surprises during build.
[Paul Gevers]
* Updated get-orig-source target and it compinion script orig-tar.sh so that they
  repack the source file, allowing bug 708695 to be fixed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?xml version="1.0"?>
 
2
<fpdoc-descriptions>
 
3
  <package name="IDEIntf">
 
4
    <module name="ProjectIntf">
 
5
      <element name="TLazProject.MainFileID">
 
6
        <short>The index of the file with the main source, for example the lpr file</short>
 
7
      </element>
 
8
      <element name="TLazProject.Files">
 
9
        <short>All files of project plus files in source editor plus closed files once open in the source editor</short>
 
10
        <descr>The index runs from 0..FileCount</descr>
 
11
      </element>
 
12
      <element name="TLazProject.FileCount">
 
13
        <short>Files has 0..FileCount-1 items</short>
 
14
      </element>
 
15
      <element name="TLazProject.MainFile">
 
16
        <short>The main source file, can be nil, otherwise equivalent to Files[MainFileID]</short>
 
17
      </element>
 
18
      <element name="TLazProject.Title">
 
19
        <short>The project title, used for Application.Title statement</short>
 
20
      </element>
 
21
      <element name="TLazProject.IsVirtual">
 
22
        <short>True if project has not yet a full file name, i.e. it was not yet saved</short>
 
23
      </element>
 
24
      <element name="TLazProject.CreateProjectFile">
 
25
        <short>Create a new file, which is not yet added to the project Files</short>
 
26
        <descr>Use AddFile when the new file is done.</descr>
 
27
      </element>
 
28
      <element name="TLazProject.AddFile">
 
29
        <short>Add a file to the project</short>
 
30
      </element>
 
31
      <element name="TLazProject.RemoveUnit">
 
32
        <short>Removes and frees a file.</short>
 
33
      </element>
 
34
      <element name="TLazProject.GetFileCount"/>
 
35
      <element name="TProjectFlag.pfSaveClosedUnits">
 
36
        <short>save metadata of closed files in the lpi</short>
 
37
      </element>
 
38
      <element name="TProjectFlag.pfSaveOnlyProjectUnits">
 
39
        <short>Do not save metdata of foreign files in the lpi (i.e. files with IsPartOfProject=false)</short>
 
40
      </element>
 
41
      <element name="TProjectFlag.pfMainUnitIsPascalSource">
 
42
        <short>Main unit is pascal, IDE can check it for common mistakes</short>
 
43
      </element>
 
44
      <element name="TProjectFlag.pfMainUnitHasUsesSectionForAllUnits">
 
45
        <short>IDE updates the uses section of the main file if units are added, removed or renamed</short>
 
46
      </element>
 
47
      <element name="TProjectFlag.pfMainUnitHasCreateFormStatements">
 
48
        <short>Automatically add/remove/update Application.CreateForm statements for forms and datamodules</short>
 
49
      </element>
 
50
      <element name="TProjectFlag.pfRunnable">
 
51
        <short>Project can be executed</short>
 
52
      </element>
 
53
      <element name="TProjectFlag.pfUseDesignTimePackages">
 
54
        <short>Compile designtime packages into project</short>
 
55
        <descr>Designtime packages are only needed for designing the project forms, because they contain component and property editors. Only runtime packages contain code. If you want to test a designtime package you can create a project with this flag. Then the IDE will add the unit paths to the designtime packages too.</descr>
 
56
      </element>
 
57
      <element name="TProjectFlag.pfLRSFilesInOutputDirectory">
 
58
        <short>Set this flag to tell the IDE to store .lrs files in the unit output directory instead of the directory where the lfm is.</short>
 
59
      </element>
 
60
      <element name="TProjectFlag.pfUseDefaultCompilerOptions">
 
61
        <short>After creating the new project the IDE applies the users build modes and compiler options.</short>
 
62
      </element>
 
63
      <element name="TLazProject.ExecutableType"/>
 
64
      <element name="TLazProject.LazCompilerOptions">
 
65
        <short>The active compiler options of the project. Each build mode has its own set of compiler options.</short>
 
66
        <descr>Do not store a reference to this.</descr>
 
67
      </element>
 
68
      <element name="TLazProject.ProjectInfoFile">
 
69
        <short>The file path of the lpi</short>
 
70
      </element>
 
71
      <element name="TLazProject.ProjectSessionFile">
 
72
        <short>The file path of the lps</short>
 
73
      </element>
 
74
      <element name="TLazProject.SessionStorage">
 
75
        <short>Where to store the project session</short>
 
76
      </element>
 
77
      <element name="TLazProject.Modified">
 
78
        <short>Set to true by project properties. Set it to false to clear all modified flags, excluding session flags</short>
 
79
        <descr>Units and build modes have their own Modified.</descr>
 
80
      </element>
 
81
      <element name="TLazProject.SessionModified">
 
82
        <short>Set to true if some session data has changed. Set this to false to set all session flags to false.</short>
 
83
      </element>
 
84
      <element name="TLazProject.FPDocPaths">
 
85
        <short>Search path for fpdoc files. Multiple directories are separated by semicolon. Macros are allowed.</short>
 
86
      </element>
 
87
      <element name="TLazProject.FPDocPackageName">
 
88
        <short>The fpdoc "package name". Leave empty to use project name.</short>
 
89
      </element>
 
90
      <element name="TLazProject.CleanOutputFileMask">
 
91
        <short>File mask for the manual clean of the output directory. Default: all files</short>
 
92
      </element>
 
93
      <element name="TLazProject.CleanSourcesFileMask">
 
94
        <short>File mask for the source directories on a manual clean up. Default: ppu and o files</short>
 
95
      </element>
 
96
      <element name="TLazProject.CustomData">
 
97
        <short>Name value pairs for designtime packages.</short>
 
98
        <descr>Every designtime package can store arbitrary data in each project. Use this property alone. All other unknown data will be purged from the lpi. It's recommended to use long and unique names like PackageName_MyPath.</descr>
 
99
      </element>
 
100
      <element name="TLazProject.CustomSessionData">
 
101
        <short>As CustomData but stored in the lps</short>
 
102
      </element>
 
103
      <element name="TLazProject.UseAppBundle">
 
104
        <short>On OS X applications need a .app directory called an "Application Bundle".</short>
 
105
      </element>
 
106
      <element name="TProjectDescriptor.GetLocalizedName">
 
107
        <short>Name shown in the "New Project" dialog. Should return a resourcestring.</short>
 
108
      </element>
 
109
      <element name="TProjectDescriptor.GetLocalizedDescription">
 
110
        <short>The description shown in the "New project" dialog. Should return a resourcestring.</short>
 
111
      </element>
 
112
      <element name="TProjectDescriptor.InitDescriptor">
 
113
        <short>Called after user choose this project type to create.</short>
 
114
        <descr>The current project still exists.
 
115
It can start a dialog to ask some settings. Return mrOk to continue.</descr>
 
116
      </element>
 
117
      <element name="TProjectDescriptor.InitProject">
 
118
        <short>Called after the old project was closed and the new was created.</short>
 
119
        <descr>Set global flags. Do not create files at this point.
 
120
Return mrOk to continue.
 
121
After this the IDE loads user settings and sets up according to the current settings.</descr>
 
122
      </element>
 
123
      <element name="TProjectDescriptor.CreateStartFiles">
 
124
        <short>Called after the global flags of the project are completed.</short>
 
125
        <descr>You can now create or open files. For example: 
 
126
Result:=LazarusIDE.DoOpenEditorFile(AProject.MainFile.Filename,-1,-1,
 
127
                                      [ofProjectLoading,ofRegularFile]);</descr>
 
128
      </element>
 
129
      <element name="TProjectDescriptor.Name">
 
130
        <short>The internal registration name.</short>
 
131
        <descr>This name must be unique. It can be used by other packages to use your descriptor.</descr>
 
132
      </element>
 
133
      <element name="TProjectDescriptor.VisibleInNewDialog">
 
134
        <short>If you want to create the new project via some other ways than the "New project" dialog set this to false.</short>
 
135
      </element>
 
136
      <element name="TProjectDescriptor.DefaultExt">
 
137
        <short>The default file extension for creating new source files. Default is .pas</short>
 
138
      </element>
 
139
    </module>
 
140
  </package>
 
141
</fpdoc-descriptions>