aafshar / pida-main

The main PIDA branch

Clone this repository (size: 4.7 MB): HTTPS / SSH
$ hg clone http://bitbucket.org/aafshar/pida-main/

Changed (Δ1.2 KB):

raw changeset »

.hgignore (1 lines added, 0 lines removed)

docs/source/developer/codingstyle.rst (20 lines added, 44 lines removed)

docs/source/user/gettingstarted.rst (34 lines added, 8 lines removed)

docs/source/user/installation.rst (22 lines added, 9 lines removed)

docs/source/user/introduction.rst (10 lines added, 2 lines removed)

Up to file-list .hgignore:

@@ -14,5 +14,6 @@ moo/test
14
14
.*\.pyc
15
15
tmp
16
16
.pida-metadata
17
docs/_build
17
18
.*\.*~
18
19
externals

Up to file-list docs/source/developer/codingstyle.rst:

2
2
PIDA Coding Style Guidelines
3
3
============================
4
4
5
First read :pep:`8` (the PEP on how to write readable Python code). The PEP gives
6
a number of good insights. The PEP gives a few options on things, and I shall
7
try to clarify what I prefer here. Where this document differs from :pep:`8`, you
8
should use what is presented here, unless you are a zealot in which case you
9
should listen to the Python people (who are cleverer than me anyway). Also
10
read :pep:`20` while you are at it.
5
First read :pep:`8` (the PEP on how to write readable Python code).
6
The PEP gives a number of good insights.
7
The PEP gives a few options on things,
8
and we shall try to clarify what we prefer here.
9
Where this document differs from :pep:`8`,
10
you should use what is presented here,
11
unless you are a zealot in which case
12
you should listen to the Python people
13
(who are cleverer than me anyway).
14
Also read :pep:`20` while you are at it.
11
15
12
16
Indenting
13
17
---------
14
18
15
4 Spaces, no tabs ever ever. This is not negotiable. Emacs users please check
16
your settings, somehow tabs creep into emacs-written code.
19
4 Spaces, no tabs ever ever. This is not negotiable.
20
21
.. note::
22
23
  Emacs users please check your settings,
24
  somehow tabs creep into emacs-written code.
17
25
18
26
Line Width
19
27
----------
20
28
21
79 characters, perhaps 78 to be safe. This is negotiable, and there are times
22
when 83 character lines are acceptable. You can be the judge. I am not sure
23
many people use 80-character terminals these days, so we can be a bit less
24
hard-line than the PEP.
25
26
You can split lines however you wish. I personally use 3 different forms of
27
splitting depending on the purpose.
28
29
Long lists, dicts, or many paramteres to a function::
30
31
    service_base_classes =  [
32
        OptionsMixin,
33
        commands_mixin,
34
        events_mixin,
35
        bindings_mixin,
36
    ]
37
38
Single extra bit::
39
40
    def really_long_method_or_function_name(first_parameter, second_paramater,
41
        third_parameter)
42
43
Or::
44
45
    def really_long_method_or_function_name(first_parameter, second_paramater,
46
                                            third_parameter)
47
48
It all depends on the use at the time, and we should remember to keep it
49
readable.
29
79 characters, perhaps 78 to be safe.
30
This is negotiable, and there are times when 83 character lines are acceptable.
31
You can be the judge. We are not sure many people use 80-character terminals these days, 
32
so we can be a bit less hard-line than the PEP.
50
33
51
34
Blank Lines
52
35
-----------
@@ -166,13 +149,6 @@ Python's shoot-me-in-the-foot techniques
166
149
so. I have made these mistakes myself, and have (hopefully learned from the
167
150
mistakes. So:
168
151
169
Meta classes
170
~~~~~~~~~~~~
171
        
172
Never! I have yet to see a use-case for metaclasses which did not
173
relate to perverting some other library or external class. I am happy
174
to be enlightened.
175
176
152
Decorators
177
153
~~~~~~~~~~
178
154

Up to file-list docs/source/user/gettingstarted.rst:

@@ -15,25 +15,40 @@ First run wizard
15
15
The PIDA window
16
16
~~~~~~~~~~~~~~~
17
17
18
Like any other IDE, PIDA provides in one window all the tools you need to edit your files, compile your programs, invoke external tools, explore a project space or a file hierarchy, and so on.  The PIDA window is organized with a menu, a toolbar, multiple views and a status bar.  Many of these elements are optional and can be hidden or displayed at will.
18
Like any other IDE, PIDA provides in one window all the tools you need to edit your files,
19
compile your programs, invoke external tools, explore a project space or a file hierarchy, and so on.
20
The PIDA window is organized with a menu, a toolbar, multiple views and a status bar.
21
Many of these elements are optional and can be hidden or displayed at will.
19
22
20
23
The menu bar
21
24
^^^^^^^^^^^^
22
25
23
26
File
24
  This menu offers all file related operations, like creating, saving, or closing a document, but also all version control operations.  PIDA also provides sessions management, and the *File* menu permits to save the current session or load a previous one.
27
  This menu offers all file related operations,
28
  like creating, saving, or closing a document,
29
  but also all version control operations.
30
  PIDA also provides sessions management, 
31
  and the *File* menu permits to save the current session or load a previous one.
25
32
26
33
Edit
27
  This menu serves two purposes.  First, it provides facilities to search documents throughout a project, or directories.  But PIDA preferences and shortcuts settings are also modifiable from here.
34
  This menu serves two purposes.
35
  
36
  First, it provides facilities to search documents throughout a project, or directories.
37
  But PIDA preferences and shortcuts settings are also modifiable from here.
28
38
29
39
Project
30
  This menu provides version control at project level.  From there, it is also possible to modify the properties of a project and to start the configured controllers.
40
  This menu provides version control at project level.
41
  From there, it is also possible to modify the properties of a project 
42
  and to start the configured targets.
31
43
32
44
Tools
33
45
  Additional utilities, like a terminal and a Python shell for PIDA introspection.
34
46
35
47
View
36
  The PIDA window can be customized from there, displaying or hiding special views or elements like the menu bar or the tool bar.  This menu also provides shortcuts to access quickly the most important views of the window, like the file manager.
48
  The PIDA window can be customized from there,
49
  displaying or hiding special views or elements like the menu bar or the tool bar.
50
  This menu also provides shortcuts to access quickly the most important views of the window,
51
  like the file manager.
37
52
38
53
Help
39
54
  Provides only the credits window for now.
@@ -50,16 +65,27 @@ The status bar provides live information
50
65
The editor
51
66
^^^^^^^^^^
52
67
53
The editor is the core element of PIDA.  All other views only provide utilities to fill the missing features of the editor, or integrate important accessories -- like a debugger -- or give a quick access to external tools -- like a terminal.  The editor is also the central view of PIDA.  All other views can be moved around it.
68
The editor is the core element of PIDA.
69
All other views only provide utilities to fill the missing features of the editor 
70
or integrate important accessories -- like a debugger -- 
71
or give a quick access to external tools -- like a terminal.
72
The editor is also the central view of PIDA.
73
All other views can be moved around it.
54
74
55
PIDA can support any editor. Editor shortcuts and features directly depend on what editor you prefer. It is possible that some features of the chosen editor and PIDA features overlap. In this case, both can be used, but the feature implemented by PIDA will certainly provide better integration with the other tools of the IDE.
75
PIDA can support any editor.
76
Editor shortcuts and features directly depend on what editor you prefer.
77
It is possible that some features of the chosen editor and PIDA features overlap.
78
In this case, both can be used,
79
but the feature implemented by PIDA will 
80
certainly provide better integration with the other tools of the IDE.
56
81
57
82
.. Insert image of getting_started_window_views 
58
83
59
84
Views
60
85
^^^^^
61
86
62
All elements in the PIDA window, except the editor, the menu bar, the toolbar and status bar, can be moved (remember that the menu bar and the toolbar can be hidden though).
87
All elements in the PIDA window, except the editor, the menu bar, the toolbar and status bar, 
88
can be moved (remember that the menu bar and the toolbar can be hidden though).
63
89
64
90
FIXME: must choose carefully the vocabulary for elements of the views and keep them consistent.
65
91

Up to file-list docs/source/user/installation.rst:

@@ -55,10 +55,14 @@ Mandatory Dependencies
55
55
**VTE**
56
56
  VTE is a GTK terminal widget that is used by gnome-terminal.  PIDA uses this for many things, and since it is in most distributions that Gnome is in, we have made it an absolute requirement.
57
57
58
**gazpacho**
59
  gazpacho is a gtk ui designer, it is needed for some glade-extensions, 
60
  we hope to phase it out in a future release.
61
58
62
In the Ubuntu and Debian distributions, you should install the mandatory dependencies.  This is only necessary if you do not use the distribution version::
59
63
60
64
  sudo apt-get install gvim python-gnome2 python-gnome2-extras \
61
  python-gtk2 python-vte python-kiwi python-setuptools python-glade2 librsvg2-common
65
  python-gtk2 python-vte python-kiwi python-setuptools python-glade2 librsvg2-common gazpacho
62
66
63
67
Optional Dependencies
64
68
~~~~~~~~~~~~~~~~~~~~~
@@ -118,7 +122,8 @@ or to be more precise::
118
122
Installation from Source
119
123
------------------------
120
124
121
**Installation is the recommended method of running PIDA.  Running from source should be reserved for people who know what they are doing.**
125
**Installation is the recommended method of running PIDA for users.
126
Running from source should be reserved for people intending to develop pida itself or a plugion.**
122
127
123
128
To install PIDA, the following command should be run as root (or using sudo) if you are installing to a global location.  This command is run from the PIDA directory either created from the Mercurial checkout, or the stable tarball::
124
129
@@ -132,11 +137,15 @@ You also need to install anyvc and rope:
132
137
Run from source
133
138
---------------
134
139
135
First copy the file moo_stub.so (that was built in the build stage) from the build/ directory to a directory in your PYTHONPATH or the working directory.
140
It is necessary to invoke `python setup.py build_ext -i` 
141
in order to get a c-written ui extension compiled + placed in the source path.
136
142
137
143
.. note::
138
144
139
    Running from source is generally reserved for developers of PIDA, or those people who really know what they are doing. It is very useful to be able to make a change and test it immediately. It is not recommended to use this as a general execution method.
145
    Running from source is generally reserved for developers of PIDA
146
    or those people who really know what they are doing.
147
    It is very useful to be able to make a change and test it immediately.
148
    It is not recommended to use this as a general execution method.
140
149
141
150
To run PIDA directly from the source, run::
142
151
@@ -144,15 +153,19 @@ To run PIDA directly from the source, ru
144
153
145
154
.. note::
146
155
147
   This will handle your Python PATH; it will automatically link all the plugins available in the pida-plugins directory
156
   `run-pida.py` will add the plugins in the checkout to the plugin-search-path,
157
   the installed executables wont do that.
148
158
149
159
MS Windows
150
160
----------
151
161
152
Some pointers on how to install PIDA dependencies and perform a `Windows Installation`_ can be found on the Trac_.
162
Some pointers on how to install PIDA dependencies 
163
and perform a `Windows Installation`_ can be found on the Trac_.
153
164
154
.. Mac OS X
155
.. --------
165
Due to lack of developers on Win32 we can't maintain official support.
156
166
157
.. FIXME.
167
Mac OS X
168
--------
158
169
170
No official support yet,
171
but planned support for pida with gtk based embedded editors (medit and gtksourceview).

Up to file-list docs/source/user/introduction.rst:

3
3
Introduction
4
4
============
5
5
6
Many of the very good IDE's out there are "closed" in the sense that they are limited in terms of extensibility and communication with other tools. Further, many writers and programmers want to change their editor to something else while retaining the features of an IDE.
6
Many of the very good IDE's out there are "closed" in the sense
7
that they are limited in terms of extensibility and communication with other tools.
8
Further, many writers and programmers want to change their editor to something else
9
while retaining the features of an IDE.
7
10
8
PIDA was designed with these problems in mind.  PIDA's motto is to reuse the tools that proved to be useful and solid; thus, PIDA provides the glue for them.  PIDA is written in Python_ and uses PyGTK_.  It is easily extensible through plugins and can embed any editor provided someone writes an adapter for it.
11
PIDA was designed with these problems in mind.
12
PIDA's motto is to reuse the tools that proved to be useful and solid;
13
thus, PIDA provides the glue for them.
14
PIDA is written in Python_ and uses PyGTK_.
15
It is easily extensible through plugins
16
and can embed any editor provided someone writes an adapter for it.
9
17
10
18
PIDA has a number of unique features, such as
11
19