/plugins/ProjectViewer/branches/projectviewer_2_0/docs/CHANGELOG

# · #! · 559 lines · 394 code · 165 blank · 0 comment · 0 complexity · da35515d27d13637a17c2fedba98280a MD5 · raw file

  1. /*
  2. * This program is free software; you can redistribute it and/or
  3. * modify it under the terms of the GNU General Public License
  4. * as published by the Free Software Foundation; either version 2
  5. * of the License, or any later version.
  6. *
  7. * This program is distributed in the hope that it will be useful,
  8. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. * GNU General Public License for more details.
  11. *
  12. * You should have received a copy of the GNU General Public License
  13. * along with this program; if not, write to the Free Software
  14. * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  15. *
  16. * CHANGELOG version: $Id: CHANGELOG 6006 2003-01-21 20:03:04Z vanza $
  17. */
  18. VERSION 2.0.0
  19. [marcelo vanzin]
  20. - Complete rewrite. Too many changes to list here. Most notable userland
  21. changes are:
  22. * project tree does not follow fs layout anymore. Any file/directory can
  23. be added to any directory.
  24. * project properties dialog is extensible, so other plugins can add their
  25. own options to the project.
  26. * other plugins can add entries to the toolbar and to the context menu.
  27. * performance should be better, and many old bugs should disappear due to
  28. the new tree code.
  29. * config files are now XML, mostly.
  30. VERSION 1.0.5
  31. [matthew payne]
  32. -added functionality to load/store properties for associating external applications
  33. with specific file extentions. For instances, (".gif" can optionally be opened up with gimp or paintshop,
  34. or "css" with w/topstyle).
  35. -added menu item to JTree for launching the external apps ("Open with (xxx)")
  36. -added new configuration layout pane for external applications
  37. VERSION 1.0.4
  38. [stefan kost]
  39. - open files are now visualized underlined like the filesystem-browser does.
  40. - updated docs
  41. VERSION 1.0.4
  42. [dale anson]
  43. - improved persistence of project files
  44. - added ability to designate a file as a "build file" for the project. This will
  45. notify registered listeners that may be interested when the project changes.
  46. - added persistence of the state of the folder tree so that it will automatically
  47. expand to where it was when the project was last used.
  48. VERSION 1.0.4
  49. [marcelo vanzin]
  50. - changed configuration file layout. Each project has its own configuration
  51. file now (under projects/). Project configuration is "lazy loaded" (loaded
  52. only when needed).
  53. - added configuration panel to jEdit configuration dialog and added config
  54. class holding all configuration data for the plugin. Also, added some
  55. configuration options.
  56. - added properties dialog for projects, used to create new project and to
  57. modify existing ones.
  58. - added context menus to the trees, and implemented multiple selections in
  59. the tree (only in single project view). Remove buttons and context menu
  60. entries now can handle multiple selections.
  61. - opened files are remembered on a per-project basis. Also, the last opened
  62. project is remembered between jEdit sessions.
  63. - Lots of small changes/fixes.
  64. [stefan kost]
  65. - fixed bug when importing files from dirs not below project root
  66. VERSION 1.0.3
  67. [stefan kost]
  68. - cleanups (source-code formatting, adding missing scope identifiers,
  69. adding final if possible)
  70. - initial user documentation (using docbook-xsl)
  71. - the red '-' can now even remove whole directories (after asking)
  72. - fixed build.xml, so that docs are now included
  73. - slight speedup in treehandling (made most members static)
  74. - project files are colored according to the setting of the filesystem browser
  75. - toolbar is now JToolBar and has roll-over buttons
  76. - removed deprecation warning (updated to jEdit 4.0 dockable API)
  77. - sorted extensions in import-sample.properties
  78. - added CVS policy file
  79. [?]
  80. - Project parsing does not start at jEdit start up unless the the viewer is
  81. set to be displayed on start up.
  82. - Fixed NPE when a click occurs over a non-node port of project tree
  83. - Added 'py' (Python) extension to supported import extensions
  84. - Project directories are now sorted
  85. - Double click interval have been shortened from 2 seconds to .5 seconds
  86. VERSION 1.0.2
  87. - Major rewrite of the plugin. All features that existed pre 1.0.2 should still be
  88. valid, except for the bugs. That also means that all previously noted changes
  89. may or may not be valid in this release.
  90. - Added drag and drop support to the edit pane.
  91. - Fixed bugs with tree node synchonization where the different tree views are
  92. not notified of changes such as additions and removal of project files, and
  93. the opening and closing or project files in the edit pane.
  94. - Tree rendering on file and directory additions should be faster because the
  95. trees are not being rebuilt on these events.
  96. - Project viewer will ask if you want to import a file if you save it under
  97. the current project's root directory.
  98. - The project viewer and project can will now generate events so that other
  99. plugins can interact with the current project.
  100. - Project properties will now be stored under <settings directory>/projectviewer. The
  101. plugin should move old properties files to this directory, as well as rename them.
  102. VERSION 0.095
  103. - (DONE) (SERIOUS) ProjectViewer *won't* open any files that it thinks are
  104. subscribed but aren't actually open.
  105. - (DONE) anytime you double click on a file... and it fails to open or close
  106. a buffer.... and it isn't the current buffer. select it or open it.
  107. - (DONE) fix ProjectViewer so that it can get jEdit events and
  108. unsubscribe/subscribe to new buffers.
  109. - within File.setSubscribed() have it keep track of subscribed files
  110. within a hashtable in ProjectResources. This is a kludge but
  111. reliable. Then events can just enumerate through this hashtable
  112. instead of all files. When a file is closed due to an event
  113. setSubscribe(false) and remove it from the hashtable.
  114. VERSION 0.094
  115. - (DONE) double clicking doesn't work correctly.
  116. - (DONE) if you single click on an item that isn't the last item you double
  117. clicked on... then set the previous double clicked item to null
  118. - (DONE) if you double click on a file... and it isn't the current buffer.
  119. then don't unsubscribe it.
  120. - (DONE) (Behavior not noticed) Currently when you double click on a
  121. "working file" it doesn't remove it from the current jTree. How long has
  122. this been broken?
  123. - (DONE) Add .css, .vbs and .js support.
  124. - (DONE) less chatty
  125. - (DONE) When the plugin is stop'd... save the Project Resources
  126. VERSION 0.090
  127. - (DONE) Adding a single file for some reason sets it's starting record to 0
  128. - (DONE) NPE when adding file to a Project with no other files
  129. - (DONE) Adding new projects stoped working... problem caused with new
  130. resources.
  131. VERSION 0.089
  132. - (DONE) "Folders" view is not getting rendered correctly. It is missing anything
  133. outside of the projects root directory and it is also just plain missing
  134. things.
  135. - (DONE) There seems to be a timing problem where if you click on a file.. and it
  136. takes time for jEdit to load and JBrowse also loads it that the jTree
  137. won't highlight the selected node until everythign is done
  138. - (DONE) find out how to increase performance of initial rendering time of large
  139. projects... really slow right now. maybe serialize it or increase the
  140. performance of ProjectResources
  141. - (DONE) nows threading off initial Resource parsing
  142. - (DONE) File names are getting truncated by the jTree. You will need to
  143. build in a buffer... something like 40% of the number of chars.
  144. - (DONE) increase performance when loading large project sets with tons of files.
  145. - (DONE) if the user selects a project that is already visible... don't reload it.
  146. - (DONE) Add an Open All button now that everything won't be loaded by default.
  147. - (DONE) when loading a project or all projects... set the status bar back to
  148. nothing... since no files are selected saying that a file (or anything
  149. other than a project) would be a bad thing.
  150. - (DONE) remove all references to "options"
  151. - (DONE) (HIGH PRIORITY) Ability to sort files alphabetically.
  152. - (DONE) Sometimes... after PV is loaded it isn't set to the foreground... do this
  153. progmatically so that nothing ever happens.
  154. - (DONE) Fix bug where ProjectViewer is not instantly visible
  155. - (DONE)fix status bar rendering... dirs should be like "/dir1/dir2/" (trailing
  156. file.separator and fiels should be "dir1/dir2/file.txt" (no trialing
  157. file.separator)
  158. - (DONE)Project.gif added to cvs as binary
  159. - (DONE) move the jTree "contents" into 3 separate jTrees "folders" "files" and
  160. "workingfiles". This way nothing will need to get redrawn when moving
  161. between projects and the jTree state will always stay the same. This also
  162. fixes my problem of not being able to have multiplle JTabbedPane tabs
  163. pointing to the same object. make sure expansion of nodes still works and
  164. that when you add a file to one jTree that the ProjectResources becomes
  165. dirty and you re-read it. The best way to bootstrap this is to take
  166. contents and find out all access to it... then replace all that code with
  167. getCurrentTree() with will return one of the three JTrees.
  168. - (DONE) everytime you go to working files... reload the view...
  169. - (DONE)when you unsubscribe from a file when in WORKING_FILES make sure to
  170. remove it from the JTree.
  171. VERSION 0.081
  172. - (DONE) getCurrentDirectory() does not work correctly when changing projects. It
  173. looks like Project and files aren't changing the dir... this may be a
  174. problem in loadProject() where it should call
  175. setCurrentDirectory( project.getRoot() )
  176. - (DONE) Do nothing ever when changing projects. This gets confusing when
  177. projects and files are opened and closed.
  178. - (DONE)add a JStatusBar to the bottom of ProjectViewer
  179. - (DONE) make Resources static and synchronized so that it is totally thread
  180. safe also... parse it out when the first Project Viewer loads up so that
  181. future applications (IE JCompiler) can request projects, directories,
  182. files, etc without loadup time.
  183. - should increase speed when working with multiple ProjectViewers in
  184. multiple views.
  185. - should provide inter ProjectViewer adding of files and directories.
  186. VERSION 0.075
  187. - (DONE) (RFE)when you double click on a file... it takes a second to react
  188. to become bold. Rewrite this so that you manually set it to bold and then
  189. open file file so reaction time is somewhat faster.
  190. - (DONE) Have getCurrentDirectory() return a Directory and not a String
  191. - (DONE) (EASY) Get rid of the "Projects" tab. It really is not longer
  192. needed.
  193. - (DONE) (HIGH PRIORITY)MISC Buffer NullPointerExceptions
  194. - (DONE) BUG keep track of the opened (but not subscribed) files and close
  195. then when you change projects. This became an issue when I implemented
  196. multiple views.
  197. - (DONE)(BUG) if there are files within the projects root they are not shown.
  198. - (DONE) (HIGH PRIORITY) FEATURE: Multiple views... Just different ways to display the
  199. JTree. This includes:
  200. Folder View - standard hierarchy view
  201. File View - no hierarchy.. just alphabetically list all the files.
  202. Open File View - no hierarcy.. just a list of open files.
  203. - (DONE) (HIGH PRIORITY) globalStringReplace requires JDK 1.2 because a
  204. "replace" method is not available within JDK 1.1. Try making you own
  205. StringBuffer class by taking the necessary "replace" method from the JDK
  206. 1.2 StringBuffer.
  207. - (DONE)Remove "." Directory. should be placed under the projects root.
  208. When working on projects with mixed directorys the "." directory can
  209. sometimes show up in the middle which looks very bad.
  210. - (DONE) (HIGH PRIORITY) Have a currently editing file. This way if I am
  211. working on "myfile.java" and change projects and then change back,
  212. "myfile.java" should be the buffer currently selected.
  213. - (DONE) (BUG) set the cursor to busy when loading all files in a project.
  214. For some reason this isn't getting set during the import of a file.
  215. - (DONE) Do Hierarchical directories:
  216. - instead of ./ProjectViewer
  217. ./ProjectViewer/projectviewer
  218. do: ./ProjectViewer
  219. projectviewer
  220. - you might want do consider redoing the Resource datastore at this
  221. point to be something like
  222. Project -> (1 to many) Directory -> (1 to many) Files
  223. Directory -> Directory
  224. - (DONE) (BUG) when loading a project... getCurrentDirectory() should be set
  225. to getCurrentDirectory().getRoot()
  226. - patched the code.. see if it works.
  227. - (DONE)JTree enhancement... when loading the jTree use
  228. jTree.getModel().setRoot()... this should allow you to have a method which
  229. returns a DefaultMutableTreeNode depicting the root.
  230. - (DONE) (HIGH PRIORITY) Have a currently editing file. This way if I am
  231. working on "myfile.java" and change projects and then change back,
  232. "myfile.java" should be the buffer currently selected.
  233. - (DONE) (BUG) show a busy mouse when loading projects...
  234. - (DONE) (RFE) while ProjectViewer is loading set the cursor on view to busy
  235. and then back to normal after instantiation.
  236. - (DONE) (EASY) Get rid of the "Projects" tab. It really is not longer
  237. needed.
  238. - (DONE) Project.getRoot() doesn't work under NT. The reason is that "\"
  239. needs to be escaped as "\\"
  240. - (DONE) Under JDK 1.2 Swing wasn't loading all the GUI's projectCombo
  241. correctly
  242. - (DONE) (NT was escaping \ )(HIGH PRIORITY) (BUG) Under NT projects are
  243. created fine but when you re-load then they don't load any files... why
  244. is this?
  245. - (DONE) Button bar Images corrupt under NT. Try to get fresh ones not from
  246. CVS.. could be a binary commit problem.
  247. - (DONE) Under JDK 1.2 JDialog was overloaded so that passing a "null" as
  248. the first parameter caused it to be ambigious.
  249. - (DONE) (BUG) NullPointerExceptions are being thrown when clicking on
  250. subscribed files.
  251. - (DONE) (just called repaint)(BUG) When changing the subscribed status of
  252. a file... the JTree isn't updated to reflect it's current bold/normal
  253. status.. you have to click on another leaf for this to work. find out why
  254. the GUI isn't getting refreshed.
  255. - (DONE) (BUG) When parsing projects... the first one is always discarded.
  256. Basically this means that if you have 2 projects within your property
  257. files... only 1 is loaded. If you have 1... 0 are loaded.
  258. - (DONE) (BUG)if you choose to import a file... that is already within the
  259. project, don't add it again. This will be done through
  260. ProjectResources.addFile() rewrite it to add support for return a boolean.
  261. On multiple imports (IE Project imports) you should just ignore this but
  262. on singleton imports you should tell the user with a with a dialog that
  263. their file was not added to the project.
  264. - (DONE) (Appears to be working now) (BUG) When "All Projects" is selected
  265. and you try to delete a project it totally screws up... doesn't delete
  266. the project.
  267. - (DONE) "All Projects" should only browse files... not load them. When you
  268. select "All Projects" close the current project so that no subscribed
  269. files are shown... then you can view subscribed files if you want.
  270. - (DONE)ClassCastException when trying to add a file to a directory when
  271. "All Projects" is selected
  272. - (DONE) Are Projects and their files getting mixed up? It looks like when
  273. you exit and come back in your files aren't setup correctly.. This
  274. appears to happen when you have multiple projects and then add another one.
  275. - (DONE) When you are importing files during project creation. On the file
  276. import directory prompt tell the the name of the project.
  277. VERSION 0.060
  278. - (DONE) Removing a single subscribed file doesn't work.
  279. - (DONE) removed parse button
  280. - (DONE) BUG 4: When you delete a project... remove all (subscribed)
  281. buffers from jEdit
  282. - (DONE) Add an "Contract All" option that will contrct all the shown
  283. TreeNodes.
  284. - (DONE) Add an "Expand All" option that will expand all the shown TreeNodes.
  285. - (DONE) Do not close all files when creating a new project... only remove
  286. the files for a current project... if one is open.
  287. - (DONE) Keep track of opened files. When you call Launcher.launchFile()
  288. add it to ProjectResources via a new method. ProjectResources.addOpenFile(File)
  289. ( also a ProjectResources.removeOpenFile(File) and a
  290. ProjectResources.getOpenFiles(Project) ). Then when you load up a project
  291. via Launcher.launchProject() only open the files that the user opened last
  292. time.
  293. - (DONE) when you select a project... don't close ALL files. Only close
  294. files thatare part of the current project. This way you can edit specific
  295. files outside any projects.
  296. - (DONE) Removed all extra logging code.
  297. - (DONE) Move everything over to a Makefile
  298. - (DONE) When you double click on a <BOLD> subscribed file... unsubscribe to
  299. it and set the font back to normal.
  300. - (DONE) Single clicking a subscribed file selects the jEdit buffer...
  301. - (DONE) Double click subscription should only work for files... not
  302. directories.
  303. - (DONE) When you double click on a subscribed file... nothing should happen
  304. (IE don't load it again)
  305. - (DONE) HoldablePlugin no longer needed
  306. VERSION 0.045
  307. - (DONE) Move the button action listeners into another class and their
  308. action methods as well.
  309. - (DONE)Change the font for subscribed TreeNode's.
  310. - (DONE) Fix how I am handling views? ... currently I am just calling
  311. jEdit.getViews and using the
  312. [0] reference. This won't work for more than 1 window
  313. - (DONE)Project.setRoot() should not allow a root like this: "/tmp/" They
  314. should
  315. be with this format "/tmp" or "/test/tmp" also "/" would be valid in this
  316. situation
  317. - (DONE)... open all files within a project...
  318. - (DONE) No trailing file.separator on Directory nodes.
  319. IE "./ProjectViewer/" should be "./ProjectViewer"
  320. - (DONE) when adding a single file, start the JFileChooser from the projects
  321. currently selected directory. There should be a new method named
  322. getCurrentDirectory() which returns the directory the user is currently
  323. viewing. This is changed when the user clicks on a Directory object.
  324. If the user clicks on the Project object the directory will be set to
  325. Project.getRoot(). If they select on a root node. The directory should
  326. be set to the default dir. (thus getCurrentDirectory() would return null)
  327. - (DONE) When deleting projects... tell the user the project they are about
  328. to delete.
  329. - (DONE) Move all inner classes withing ProjectViewer into their own files.
  330. - (DONE) BUG 7: When loading files into from ProjectResources make sure
  331. that they exist before returning them. IE getFiles() (when loading from
  332. disk) verifies that the actual file it is about to return a reference to
  333. is there.
  334. - (DONE) Import "Makefile"s
  335. - (DONE) Clicking on "Cancel" when importing directories during project
  336. creation causes a NullPointerException
  337. - (DONE) Make sure that duplicate projects can't be added. With no project
  338. adding "test" should work but if you try to add another "test" this will
  339. fail.
  340. - (DONE) Improve parse generation speed. Do not do the "project" substring gathering anymore. Just try to count from 1 to
  341. the last enumeration and get the actual project file string. When you get back null you know there are no more entries
  342. Also "break" at this point because there is no use in going through the rest of the Enumeration.
  343. - (DONE) loadProject and loadAllProjects should set the cursor to mouse_wait
  344. - (DONE) PUT in comments about not editing the file directly... but if they do then "here is the file
  345. format"
  346. - (DONE) when creating a new project.. after the user has selected his root dir and is prompted
  347. to import... tell them the directory
  348. - (DONE) Optional directory for a project. This way you can specify that /tmp is your
  349. home and then in the future when you add files to the project they start from
  350. here.
  351. - (DONE) BUG 5: When you delete a project... the JComboBox doesn't get populated correctly.
  352. The deleted entry should be removed.
  353. - (DONE) BUG 6: (might depenend on bug 5) If you delete a project, the combo box does not
  354. let you choose any more projects.
  355. - (DONE) BUG 8: When you are importing files... and none are found... tell the user.
  356. Also tell them the total number of files imported.
  357. - (DONE) BUG 9: test out how files would be rendered it their directory were the same as
  358. Project.root
  359. - (DONE) View files by directory
  360. - (DONE)currently working but when all files are removed from a directory, the directory
  361. needs to be removed.
  362. VERSION 0.27
  363. - (DONE)Include source in distribution.
  364. - (DONE)don't launch the project just when someone clicks on the node... only do it when necessary
  365. - (DONE) when you are viewing "All Projects" and select a file that is actually NO_FILE
  366. it appears that the UserObject is a file and this throws an Exception
  367. - (DONE) remove all files from project feature.
  368. - (DONE)When you single click a tree node... make sure to bring that one up in jEdit.
  369. - (DONE)make the root JFrame into a JDialog
  370. - (DONE)ability to look at a directory and import all files.
  371. - (DONE)when you have multiple files in the current project... and you select one...
  372. if it is open in JEdit then select this buffer. if it isn't open.. then
  373. open it.
  374. - (DONE)when you single click on a file that is already loaded... select that buffer
  375. under JEdit
  376. VERSION 0.20
  377. - (BETA)html documentation
  378. - (DONE)add to plugin menu so that it isnt' always activated on startup.
  379. - (DONE)add GPL to the source
  380. - (DONE)Create new Project
  381. - (DONE)Add file to Project
  382. - (DONE)Saving the current open files within JEdit when the project is closed
  383. - (DONE)use a correct temp dir
  384. - (DONE)test it out when there aren't any files define...
  385. - (DONE)add SAVE functionality.
  386. - (DONE)delete a project
  387. - (DONE)remove a file from a project
  388. - (Do I need any)configuration options.
  389. - (DONE)create distribution that includes source
  390. - (DONE)icons
  391. - (Done)remove project
  392. - (Done)remove file
  393. - (Done)create project
  394. - (Done)add file