diff --git a/AUTHORS b/AUTHORS index c8bbd272d59427caf69867f29e6f54806b3a917a..024f8cb9a92da577760e238a4dbd267ce878967c 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,7 +1,2 @@ Benedikt Meurer <benny@xfce.org> - -Parts of this library are based on code from libegg, Gtk+, the GNOME project -and the ROX Filer. - -The exo-binding module is based on the GObject Binding Properties library -written by Victor Porton <porton@ex-code.com>. +Jeffs Franks <jcfranks@xfce.org> diff --git a/COPYING.LIB b/COPYING.LIB new file mode 100644 index 0000000000000000000000000000000000000000..191a97fe9da8249e511b0ae41d6c9d703985635c --- /dev/null +++ b/COPYING.LIB @@ -0,0 +1,437 @@ + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright +the library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain +that everyone understands that there is no warranty for this free +library. If the library is modified by someone else and passed on, we +want its recipients to know that what they have is not the original +version, so that any problems introduced by others will not reflect on +the original authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary +one; be sure to read it in full, and don't assume that anything in it is +the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that +they blur the distinction we usually make between modifying or adding to a +program and simply using it. Linking a program with a library, without +changing the library, is in some sense simply using the library, and is +analogous to running a utility program or application program. However, in +a textual and legal sense, the linked executable is a combined work, a +derivative of the original library, and the ordinary General Public License +treats it as such. + + Because of this blurred distinction, using the ordinary General +Public License for libraries did not effectively promote software +sharing, because most developers did not use the libraries. We +concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended to +permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to achieve +this as regards changes in header files, but we have achieved it as regards +changes in the actual functions of the Library.) The hope is that this +will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + + Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. + + GNU LIBRARY GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + c) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + d) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS diff --git a/ChangeLog b/ChangeLog index 80025f326cbc26f59a5f75458de8b693698f4caf..35a51192b57351cea5c15e9e9ea26bc43efd71ea 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,44 @@ +2005-06-04 Benedikt Meurer <benny@xfce.org> + + * COPYING.LIB: Add license text for the thunar-vfs library (which is + licensed under the LGPL). + * HACKING: Add information for people that plan to hack on Thunar. + * AUTHORS: Add Jeff Franks. + * THANKS: Import the THANKS template. + * README: Add some basic information about Thunar. Needs more details. + * docs/design/overview.xmi: Import the current overview diagram for + Thunar. + * Makefile.am, configure.in.in, docs/Makefile.am, + docs/design/Makefile.am: Include the docs/ tree with the build + framework. + * configure.in.in, thunar/Makefile.am, thunar-vfs/Makefile.am: Link + against GThread (not yet required from what is coded so far). + * configure.in.in: Check for several required header files. + * thunar-vfs/Makefile.am, thunar-vfs/thunar-vfs-info.{c,h}, + thunar-vfs/thunar-vfs-monitor.{c,h}, + thunar-vfs/thunar-vfs-uri.{c,h}, thunar-vfs/thunar-vfs-util.{c,h}, + thunar-vfs/thunar-vfs.h: Add some experimental source code to + implement parts of the VFS module. + * thunar/fallback-icon.h, thunar/fallback-icon.png: Import the + fallback icon. + * thunar/thunar-application.{c,h}: Import Jeff's ThunarApplication + boilerplate (adjusting style as required). + * thunar/thunar-desktop-view.{c,h}: Boilerplate for the + ThunarDesktopView class with the very basic requirements. + * thunar/thunar-file.{c,h}, thunar/thunar-folder.{c,h}: Experimental + implementation of ThunarFile and ThunarFolder based on the + experimental source for the VFS module. + * thunar/thunar-list-model.{c,h}: Sample implementation of the + ThunarListModel class, based on an earlier implementation found in + Filer. + * thunar/thunar-preferences.{c,h}: Template for the ThunarPreferences + class. + * thunar/thunar-window.{c,h}: Quick-and-dirty ThunarWindow + implementation to be able to roughly test the ThunarListModel class. + * thunar/main.c: Add code to start a single ThunarWindow. + * autogen.sh: Copyright fixes. Substitute date to make it easier to + identify snapshots during the early development stages. + 2005-05-30 Benedikt Meurer <benny@xfce.org> * Initial import. diff --git a/HACKING b/HACKING new file mode 100644 index 0000000000000000000000000000000000000000..1add425ba50702ba436f7e1bd3e9c974b4b329af --- /dev/null +++ b/HACKING @@ -0,0 +1,70 @@ +Bug tracking system +=================== + +Thunar uses the Xfce bug tracking system at http://bugzilla.xfce.org/, +hosted and maintained by the Xfce project. + + +Patches +======= + +Please submit patches to the Xfce bug tracking system or to the thunar-dev +mailinglist. Your patch should be in unified diff format (the -u option +to GNU diff) and it must comply with the coding style described below. + +Please send a patch against a recent version of this package. Patches +against the Subversion trunk branch are most preferable. You can always +access the trunk branch from + + http://svn.foo-projects.org/svn/xfce/thunar/trunk + +or using an installed Subversion client + + svn co http://svn.foo-projects.org/svn/xfce/thunar/trunk thunar + + +Feature requests +================ + +Please file feature requests to the Xfce bug tracking system +(http://buzilla.xfce.org, product Thunar) with a Severity of +enhancement. Make sure that your feature request wasn't reported +already before; requesting a feature several times won't increase +the changed that it gets added! + + +Coding Style +============ + + - GNU coding conventions, with GLib-like extensions, mostly the same + as GTK+. + - Always expand tabs. This differs from the GNU suggestion, but it is + necessary to be independent from a given tab setting. + - Do NOT ever misuse debugging macros like g_return_val_if_fail() or + g_return_if_fail() to control program flow. They are solely useful + to discover bugs, the final binary won't include code for these + statements, and so any use of these macros to control program + flow presents a bug! + - Do NOT follow the philosophy "If it works, it's right" that most + other open source projects follow, instead Thunar's philosophy is + "It doesn't work unless it's right". Think carefully of what you want + to do, don't just fire up your favourite editor and start hacking + in the hope that it will evolve into something useful one day. + - Maintainability goes over performance. If you have to choose between + a maintainable and a fast solution, always prefer the former, as it's + quite easy to optimize well-designed modules, but very hard and costly + to make spaghetti-code readable. + - Write ChangeLog entries. Whenever you commit a change or send a patch, + write a good entry per change to the ChangeLog file, see the libexo + ChangeLog for the exact format; it's very important to be descriptive + and correct here, else you'll loose your commit bits or your patches + won't be considered for inclusion. + - Use GObject whenever possible. Object-oriented design and programming + makes it easier to separate functionality and also aids in verification + and testing, and GObject provides a very solid base. + + +Release process +=============== + +Yet to be defined! diff --git a/Makefile.am b/Makefile.am index 82c55664328ab3deb908f702d2a9ad7308b28eb0..a5af3562216c615db2a494853454d419e0d40a22 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,8 @@ # $Id$ SUBDIRS = \ + docs \ + thunar-vfs \ thunar AUTOMAKE_OPTIONS = \ @@ -17,6 +19,7 @@ rpm: dist EXTRA_DIST = \ AUTHORS \ COPYING \ + COPYING.LIB \ ChangeLog \ INSTALL \ NEWS \ diff --git a/README b/README index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..9b92738776dfb51b0fd287f245f48ea6673e9265 100644 --- a/README +++ b/README @@ -0,0 +1,23 @@ +What is it? +=========== + +Thunar is a modern file manager for the Unix/Linux desktop, aiming to be +easy-to-use and fast. + + +Installation +============ + +The file 'INSTALL' contains generic installation instructions. For more +detailed information, visit the Thunar website at http://thunar.xfce.org/. + + +How to report bugs? +=================== + +Bugs should be reported to the Xfce bug tracking system +(http://bugzilla.xfce.org, product Thunar). You will need to +create an account for yourself. + +Please read the HACKING file for information on where to send +changes or bugfixes for this package. diff --git a/THANKS b/THANKS index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..340d03a1d2264b8ab1a1b17cc56ae2bceb585bee 100644 --- a/THANKS +++ b/THANKS @@ -0,0 +1,24 @@ +What's this file about? +----------------------- +This file lists all external people that have contributed to this project and +thereby helped to make Thunar such a successful project. + + + +Testers (sorted by name): +-------------------------- +These people have contributed to Thunar by testing the software, +reporting problems and making useful suggestions. + + + +Translators (sorted by language): +---------------------------------- +These people have translated Thunar to foreign languages. + + + +Other contributors (sorted by name): +------------------------------------ + + diff --git a/autogen.sh b/autogen.sh index 6336a8b96a72db8cf6b924f6a7e6a35996fcd922..1ae83fb3d0a4b9cb26e01302028cae6d1d733a08 100755 --- a/autogen.sh +++ b/autogen.sh @@ -3,9 +3,9 @@ # $Id: autogen.sh,v 1.7 2005/01/26 22:07:26 benny Exp $ # # Copyright (c) 2002-2005 -# The Xfce development team. All rights reserved. +# The Thunar development team. All rights reserved. # -# Written for Xfce by Benedikt Meurer <benny@xfce.org>. +# Written for Thunar by Benedikt Meurer <benny@xfce.org>. # (type xdt-autogen) >/dev/null 2>&1 || { @@ -18,6 +18,9 @@ EOF exit 1 } +# substitute date +sed "s/@DATE@/`date +%Y%m%d`/g" < "configure.in.in" > "configure.in" + exec xdt-autogen $@ # vi:set ts=2 sw=2 et ai: diff --git a/configure.ac b/configure.in.in similarity index 75% rename from configure.ac rename to configure.in.in index ec29ffb6b05958da6c5c74055c8c47e482fca997..e8abd5edbffc90e8f95a904ad3071069890156b5 100644 --- a/configure.ac +++ b/configure.in.in @@ -1,4 +1,4 @@ -dnl $Id: configure.ac 67 2005-05-29 19:41:22Z bmeurer $ +dnl $Id$ dnl dnl Copyright (c) 2004-2005 os-cillation. dnl All rights reserved. @@ -11,7 +11,8 @@ m4_define([thunar_version_major], [0]) m4_define([thunar_version_minor], [0]) m4_define([thunar_version_micro], [1]) m4_define([thunar_version_tag], [svn]) -m4_define([thunar_version], [thunar_version_major().thunar_version_minor().thunar_version_micro()thunar_version_tag()]) +m4_define([thunar_version_date], [@DATE@]) +m4_define([thunar_version], [thunar_version_major().thunar_version_minor().thunar_version_micro()thunar_version_tag()-thunar_version_date()]) dnl Initialize autoconf AC_COPYRIGHT([Copyright (c) 2004-2005 os-cillation. @@ -37,13 +38,20 @@ AC_PROG_CC() AC_PROG_INSTALL() AC_PROG_LIBTOOL() +dnl Check for standard headers +AC_CHECK_HEADERS([errno.h memory.h stdlib.h string.h sys/stat.h time.h]) + dnl Check for required packages XDT_CHECK_PACKAGE([EXO], [exo-0.3], [0.3.1]) +XDT_CHECK_PACKAGE([GTHREAD], [gthread-2.0], [2.4.3]) dnl Check for debugging support BM_DEBUG_SUPPORT() AC_OUTPUT([ Makefile +docs/Makefile +docs/design/Makefile thunar/Makefile +thunar-vfs/Makefile ]) diff --git a/docs/Makefile.am b/docs/Makefile.am new file mode 100644 index 0000000000000000000000000000000000000000..8183c322f79215b82093b19c1766c4c4d819dbe2 --- /dev/null +++ b/docs/Makefile.am @@ -0,0 +1,6 @@ +# $Id$ + +SUBDIRS = \ + design + +# vi:set ts=8 sw=8 noet ai nocindent syntax=automake: diff --git a/docs/design/Makefile.am b/docs/design/Makefile.am new file mode 100644 index 0000000000000000000000000000000000000000..d69edabdcc3059de12dd5ccbd33e62579691fe22 --- /dev/null +++ b/docs/design/Makefile.am @@ -0,0 +1,6 @@ +# $Id$ + +EXTRA_DIST = \ + overview.xmi + +# vi:set ts=8 sw=8 noet ai nocindent syntax=automake: diff --git a/docs/design/overview.xmi b/docs/design/overview.xmi new file mode 100644 index 0000000000000000000000000000000000000000..4970f6a9345ccdee4fe890cbfbf13f01cec0754d --- /dev/null +++ b/docs/design/overview.xmi @@ -0,0 +1,11195 @@ +<?xml version="1.0" encoding="UTF-8"?> +<XMI xmlns:UML="org.omg/standards/UML" verified="false" timestamp="" xmi.version="1.2" > + <XMI.header> + <XMI.documentation> + <XMI.exporter>umbrello uml modeller http://uml.sf.net</XMI.exporter> + <XMI.exporterVersion>1.2.90</XMI.exporterVersion> + <XMI.exporterEncoding>UnicodeUTF8</XMI.exporterEncoding> + </XMI.documentation> + <XMI.model xmi.name="umbrellocExlca" href="/tmp/kde-bmeurer/umbrellocExlca.tmp" /> + <XMI.metamodel xmi.name="UML" href="UML.xml" xmi.version="1.3" /> + </XMI.header> + <XMI.content> + <UML:Model> + <UML:Stereotype visibility="public" xmi.id="62" name="datatype" /> + <UML:Stereotype visibility="public" xmi.id="119" name="enum" /> + <UML:Stereotype visibility="public" xmi.id="197" name="interface" /> + <UML:DataType stereotype="62" visibility="public" xmi.id="61" name="int" /> + <UML:DataType stereotype="62" visibility="public" xmi.id="63" name="char" /> + <UML:DataType stereotype="62" visibility="public" xmi.id="64" name="bool" /> + <UML:DataType stereotype="62" visibility="public" xmi.id="65" name="float" /> + <UML:DataType stereotype="62" visibility="public" xmi.id="66" name="double" /> + <UML:DataType stereotype="62" visibility="public" xmi.id="67" name="long" /> + <UML:DataType stereotype="62" visibility="public" xmi.id="68" name="short" /> + <UML:DataType stereotype="62" visibility="public" xmi.id="69" name="string" /> + <UML:Class visibility="public" xmi.id="70" name="ThunarFile" > + <UML:Operation visibility="public" xmi.id="692" type="ThunarFile" name="get_for_uri" ownerScope="classifier" > + <UML:Parameter visibility="public" xmi.id="693" value="" type="ThunarVfsURI" name="uri" /> + <UML:Parameter kind="out" visibility="public" xmi.id="783" value="" type="GError" name="error" /> + </UML:Operation> + <UML:Operation visibility="public" xmi.id="745" type="string" name="get_mode_string" /> + <UML:Operation visibility="public" xmi.id="746" type="string" name="get_size_string" /> + <UML:Operation visibility="public" xmi.id="747" type="bool" name="is_hidden" /> + <UML:Operation visibility="public" xmi.id="748" type="bool" name="is_directory" /> + <UML:Operation visibility="public" xmi.id="749" type="bool" name="is_symlink" /> + <UML:Attribute visibility="private" xmi.id="686" value="" type="string" name="display_name" /> + <UML:Attribute visibility="private" xmi.id="743" value="" type="ExoMimeInfo" name="mime_info" /> + </UML:Class> + <UML:Class visibility="public" xmi.id="71" name="ThunarFolder" > + <UML:Operation visibility="public" xmi.id="761" type="ThunarFolder" name="get_for_file" ownerScope="classifier" > + <UML:Parameter visibility="public" xmi.id="762" value="" type="ThunarFile" name="file" /> + <UML:Parameter kind="out" visibility="public" xmi.id="763" value="" type="GError" name="error" /> + </UML:Operation> + <UML:Operation visibility="public" xmi.id="764" type="ThunarFolder" name="get_for_uri" ownerScope="classifier" > + <UML:Parameter visibility="public" xmi.id="765" value="" type="ThunarVfsURI" name="uri" /> + <UML:Parameter kind="out" visibility="public" xmi.id="766" value="" type="GError" name="error" /> + </UML:Operation> + </UML:Class> + <UML:Package visibility="public" xmi.id="78" name="thunar-vfs" > + <UML:Class visibility="public" xmi.id="73" name="ThunarVfsInfo" > + <UML:Operation visibility="public" xmi.id="771" type="ExoMimeInfo" name="get_mime_info" /> + <UML:Attribute visibility="public" xmi.id="117" value="" type="string" name="target" /> + <UML:Attribute visibility="public" xmi.id="172" value="" type="uid_t" name="uid" /> + <UML:Attribute visibility="public" xmi.id="174" value="" type="gid_t" name="gid" /> + <UML:Attribute visibility="public" xmi.id="176" value="" type="ThunarVfsFileSize" name="size" /> + <UML:Attribute visibility="public" xmi.id="178" value="" type="ThunarVfsFileTime" name="atime" /> + <UML:Attribute visibility="public" xmi.id="180" value="" type="ThunarVfsFileTime" name="mtime" /> + <UML:Attribute visibility="public" xmi.id="181" value="" type="ThunarVfsFileTime" name="ctime" /> + <UML:Attribute visibility="public" xmi.id="182" value="" type="ThunarVfsFileInode" name="inode" /> + <UML:Attribute visibility="public" xmi.id="184" value="" type="ThunarVfsFileDevice" name="device" /> + </UML:Class> + <UML:Class visibility="public" xmi.id="72" name="ThunarVfsURI" > + <UML:Operation visibility="public" xmi.id="114" type="ThunarVfsURI" name="parent" /> + <UML:Operation visibility="public" xmi.id="115" type="ThunarVfsURI" name="relative" > + <UML:Parameter visibility="public" xmi.id="116" value="" type="string" name="name" /> + </UML:Operation> + <UML:Operation visibility="public" xmi.id="169" type="int" name="hash" /> + <UML:Operation visibility="public" xmi.id="170" type="bool" name="equal" > + <UML:Parameter visibility="public" xmi.id="171" value="" type="ThunarVfsURI" name="uri" /> + </UML:Operation> + <UML:Attribute visibility="private" xmi.id="102" value="" type="string" name="path" /> + </UML:Class> + <UML:Class visibility="public" xmi.id="835" name="ThunarVfsMonitor" > + <UML:Operation visibility="public" xmi.id="836" type="ThunarVfsMonitor" name="get_for_uri" ownerScope="classifier" > + <UML:Parameter visibility="public" xmi.id="837" value="" type="ThunarVfsURI" name="uri" /> + </UML:Operation> + </UML:Class> + </UML:Package> + <UML:Class visibility="public" xmi.id="85" name="ThunarDesktopFile" /> + <UML:Class visibility="public" xmi.id="87" name="ThunarTrashedFile" /> + <UML:Class visibility="public" xmi.id="89" name="ThunarTrashFolder" /> + <UML:Enumeration stereotype="119" visibility="public" xmi.id="118" name="ThunarVfsFileType" > + <UML:EnumerationLiteral visibility="public" xmi.id="120" name="SOCKET" /> + <UML:EnumerationLiteral visibility="public" xmi.id="121" name="SYMLINK" /> + <UML:EnumerationLiteral visibility="public" xmi.id="122" name="REGULAR" /> + <UML:EnumerationLiteral visibility="public" xmi.id="123" name="BLOCKDEV" /> + <UML:EnumerationLiteral visibility="public" xmi.id="124" name="DIRECTORY" /> + <UML:EnumerationLiteral visibility="public" xmi.id="125" name="CHARDEV" /> + <UML:EnumerationLiteral visibility="public" xmi.id="126" name="FIFO" /> + <UML:EnumerationLiteral visibility="public" xmi.id="127" name="UNKNOWN" /> + </UML:Enumeration> + <UML:Enumeration stereotype="119" visibility="public" xmi.id="133" name="ThunarVfsFileMode" > + <UML:EnumerationLiteral visibility="public" xmi.id="134" name="SUID" /> + <UML:EnumerationLiteral visibility="public" xmi.id="135" name="SGID" /> + <UML:EnumerationLiteral visibility="public" xmi.id="136" name="STICKY" /> + <UML:EnumerationLiteral visibility="public" xmi.id="137" name="USR_ALL" /> + <UML:EnumerationLiteral visibility="public" xmi.id="138" name="USR_READ" /> + <UML:EnumerationLiteral visibility="public" xmi.id="139" name="USR_WRITE" /> + <UML:EnumerationLiteral visibility="public" xmi.id="140" name="USR_EXEC" /> + <UML:EnumerationLiteral visibility="public" xmi.id="141" name="GRP_ALL" /> + <UML:EnumerationLiteral visibility="public" xmi.id="142" name="GRP_READ" /> + <UML:EnumerationLiteral visibility="public" xmi.id="143" name="GRP_WRITE" /> + <UML:EnumerationLiteral visibility="public" xmi.id="144" name="GRP_EXEC" /> + <UML:EnumerationLiteral visibility="public" xmi.id="145" name="OTH_ALL" /> + <UML:EnumerationLiteral visibility="public" xmi.id="146" name="OTH_READ" /> + <UML:EnumerationLiteral visibility="public" xmi.id="147" name="OTH_WRITE" /> + <UML:EnumerationLiteral visibility="public" xmi.id="148" name="OTH_EXEC" /> + </UML:Enumeration> + <UML:Enumeration stereotype="119" visibility="public" xmi.id="154" name="ThunarVfsFileFlags" > + <UML:EnumerationLiteral visibility="public" xmi.id="155" name="NONE" /> + <UML:EnumerationLiteral visibility="public" xmi.id="156" name="SYMLINK" /> + </UML:Enumeration> + <UML:Package visibility="public" xmi.id="162" name="exo" > + <UML:Class visibility="public" xmi.id="163" name="ExoMimeInfo" /> + </UML:Package> + <UML:DataType stereotype="62" visibility="public" xmi.id="173" name="uid_t" /> + <UML:DataType stereotype="62" visibility="public" xmi.id="175" name="gid_t" /> + <UML:DataType stereotype="62" visibility="public" xmi.id="177" name="off_t" /> + <UML:DataType stereotype="62" visibility="public" xmi.id="179" name="time_t" /> + <UML:DataType stereotype="62" visibility="public" xmi.id="183" name="ino_t" /> + <UML:DataType stereotype="62" visibility="public" xmi.id="185" name="dev_t" /> + <UML:Class visibility="public" xmi.id="195" name="ThunarListModel" /> + <UML:Package visibility="public" xmi.id="198" name="gobject" > + <UML:Class visibility="public" xmi.id="186" name="GSignal" > + <template visibility="public" xmi.id="187" type="class" name="type" /> + </UML:Class> + <UML:Class visibility="public" xmi.id="267" name="GObject" /> + </UML:Package> + <UML:Package visibility="public" xmi.id="199" name="gtk" > + <UML:Interface stereotype="197" visibility="public" xmi.id="196" isAbstract="true" name="GtkTreeModel" /> + <UML:Class visibility="public" xmi.id="226" name="GtkTreeView" /> + </UML:Package> + <UML:Class visibility="public" xmi.id="202" name="ThunarTreeModel" /> + <UML:Interface stereotype="197" visibility="public" xmi.id="214" isAbstract="true" name="ThunarView" /> + <UML:Class visibility="public" xmi.id="220" name="ThunarListView" /> + <UML:Class visibility="public" xmi.id="221" name="ThunarIconView" /> + <UML:Class visibility="public" xmi.id="224" name="ThunarTreeView" /> + <UML:Class visibility="public" xmi.id="234" name="ThunarWindow" /> + <UML:Class visibility="public" xmi.id="240" name="ThunarStatusBar" /> + <UML:Class visibility="public" xmi.id="251" name="ThunarApplication" /> + <UML:Class visibility="public" xmi.id="257" name="ThunarDesktopView" /> + <UML:Class visibility="public" xmi.id="264" name="ThunarPreferences" > + <UML:Attribute visibility="private" xmi.id="265" value="" type="bool" name="manage-desktop" /> + </UML:Class> + <UML:Class visibility="public" xmi.id="269" name="ThunarPreferencesDialog" > + <UML:Operation visibility="public" xmi.id="270" type="ThunarPreferencesDialog" name="get_for_window" > + <UML:Parameter visibility="public" xmi.id="271" value="" type="ThunarWindow" name="window" /> + </UML:Operation> + </UML:Class> + <UML:Class visibility="public" xmi.id="279" name="ThunarDesktopModel" /> + <UML:Class visibility="public" xmi.id="327" isAbstract="true" name="ThunarSidePane" > + <UML:Attribute visibility="public" xmi.id="421" value="" type="ThunarVfsURI" name="uri" /> + </UML:Class> + <UML:Class visibility="public" xmi.id="334" name="ThunarTreePane" /> + <UML:Class visibility="public" xmi.id="335" name="ThunarFavouritesPane" /> + <UML:Class visibility="public" xmi.id="336" name="ThunarFavouritesView" /> + <UML:Class visibility="public" xmi.id="343" name="ThunarFavouritesModel" /> + <UML:DataType stereotype="62" visibility="public" xmi.id="422" name="ThunarVfsURI" /> + <UML:Component executable="0" visibility="public" xmi.id="425" name="GUI" /> + <UML:Component executable="0" visibility="public" xmi.id="426" name="Application Layer" /> + <UML:Component executable="0" visibility="public" xmi.id="428" name="Plugin interface" /> + <UML:Component executable="0" visibility="public" xmi.id="429" name="IPC interface" /> + <UML:Component executable="0" visibility="public" xmi.id="432" name="ThunarVFS" /> + <UML:Component executable="0" visibility="public" xmi.id="479" name="Backend" /> + <UML:Class visibility="public" xmi.id="535" name="ThunarMimeAction" /> + <UML:DataType stereotype="62" visibility="public" xmi.id="744" name="ExoMimeInfo" /> + <UML:DataType stereotype="62" visibility="public" xmi.id="767" name="ThunarVfsFileSize" /> + <UML:DataType stereotype="62" visibility="public" xmi.id="768" name="ThunarVfsFileTime" /> + <UML:DataType stereotype="62" visibility="public" xmi.id="769" name="ThunarVfsFileInode" /> + <UML:DataType stereotype="62" visibility="public" xmi.id="770" name="ThunarVfsFileDevice" /> + <UML:Association visibility="public" xmi.id="75" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="70" /> + <UML:AssociationEndRole visibility="public" isNavigable="true" type="72" /> + </UML:Association.connection> + </UML:Association> + <UML:Association visibility="public" xmi.id="76" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="71" /> + <UML:AssociationEndRole visibility="public" isNavigable="true" type="72" /> + </UML:Association.connection> + </UML:Association> + <UML:Association visibility="public" xmi.id="77" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="73" /> + <UML:AssociationEndRole visibility="public" isNavigable="true" type="72" name="uri" multiplicity="1" /> + </UML:Association.connection> + </UML:Association> + <UML:Generalization child="85" visibility="public" xmi.id="86" parent="70" /> + <UML:Generalization child="87" visibility="public" xmi.id="88" parent="70" /> + <UML:Generalization child="89" visibility="public" xmi.id="90" parent="71" /> + <UML:Association visibility="public" xmi.id="128" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="73" /> + <UML:AssociationEndRole visibility="public" isNavigable="true" type="118" name="type" multiplicity="1" /> + </UML:Association.connection> + </UML:Association> + <UML:Association visibility="public" xmi.id="149" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="73" /> + <UML:AssociationEndRole visibility="public" isNavigable="true" type="133" name="mode" multiplicity="1" /> + </UML:Association.connection> + </UML:Association> + <UML:Association visibility="public" xmi.id="157" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="73" /> + <UML:AssociationEndRole visibility="public" isNavigable="true" type="154" name="flags" multiplicity="1" /> + </UML:Association.connection> + </UML:Association> + <UML:Association visibility="public" xmi.id="189" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="71" /> + <UML:AssociationEndRole visibility="public" isNavigable="true" type="186" name="files-added" /> + </UML:Association.connection> + </UML:Association> + <UML:Association visibility="public" xmi.id="192" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="70" /> + <UML:AssociationEndRole visibility="public" isNavigable="true" type="73" /> + </UML:Association.connection> + </UML:Association> + <UML:Generalization child="195" visibility="public" xmi.id="200" parent="196" /> + <UML:Association visibility="public" xmi.id="201" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="195" /> + <UML:AssociationEndRole visibility="private" isNavigable="true" type="71" name="folder" multiplicity="1" /> + </UML:Association.connection> + </UML:Association> + <UML:Generalization child="202" visibility="public" xmi.id="203" parent="196" /> + <UML:Association visibility="public" xmi.id="204" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="202" /> + <UML:AssociationEndRole visibility="private" isNavigable="true" type="71" name="folders" multiplicity="*" /> + </UML:Association.connection> + </UML:Association> + <UML:Association visibility="public" xmi.id="215" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="214" /> + <UML:AssociationEndRole visibility="protected" isNavigable="true" type="195" name="model" multiplicity="1" /> + </UML:Association.connection> + </UML:Association> + <UML:Generalization child="220" visibility="public" xmi.id="222" parent="214" /> + <UML:Generalization child="221" visibility="public" xmi.id="223" parent="214" /> + <UML:Association visibility="public" xmi.id="225" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="224" /> + <UML:AssociationEndRole visibility="private" isNavigable="true" type="202" name="model" multiplicity="1" /> + </UML:Association.connection> + </UML:Association> + <UML:Generalization child="224" visibility="public" xmi.id="227" parent="226" /> + <UML:Association visibility="public" xmi.id="228" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="226" /> + <UML:AssociationEndRole visibility="protected" isNavigable="true" type="202" multiplicity="1" /> + </UML:Association.connection> + </UML:Association> + <UML:Association visibility="public" xmi.id="242" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="234" /> + <UML:AssociationEndRole visibility="public" isNavigable="true" type="214" /> + </UML:Association.connection> + </UML:Association> + <UML:Association visibility="public" xmi.id="243" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="234" /> + <UML:AssociationEndRole visibility="public" isNavigable="true" type="240" /> + </UML:Association.connection> + </UML:Association> + <UML:Association visibility="public" xmi.id="248" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="240" /> + <UML:AssociationEndRole visibility="public" isNavigable="true" type="71" /> + </UML:Association.connection> + </UML:Association> + <UML:Association visibility="public" xmi.id="252" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="251" /> + <UML:AssociationEndRole visibility="public" isNavigable="true" type="234" name="windows" multiplicity="*" /> + </UML:Association.connection> + </UML:Association> + <UML:Association visibility="public" xmi.id="258" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="251" /> + <UML:AssociationEndRole visibility="public" isNavigable="true" type="257" name="desktop" multiplicity="0..1" /> + </UML:Association.connection> + </UML:Association> + <UML:Generalization child="264" visibility="public" xmi.id="268" parent="267" /> + <UML:Association visibility="public" xmi.id="272" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="269" /> + <UML:AssociationEndRole visibility="private" isNavigable="true" type="264" name="preferences" multiplicity="1" /> + </UML:Association.connection> + </UML:Association> + <UML:Generalization child="279" visibility="public" xmi.id="280" parent="195" /> + <UML:Association visibility="public" xmi.id="281" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="257" /> + <UML:AssociationEndRole visibility="private" isNavigable="true" type="279" name="model" multiplicity="1" /> + </UML:Association.connection> + </UML:Association> + <UML:Generalization child="72" visibility="public" xmi.id="288" parent="267" /> + <UML:Association visibility="public" xmi.id="328" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="234" /> + <UML:AssociationEndRole visibility="private" isNavigable="true" type="327" name="side_pane" multiplicity="0..1" /> + </UML:Association.connection> + </UML:Association> + <UML:Generalization child="334" visibility="public" xmi.id="337" parent="327" /> + <UML:Generalization child="335" visibility="public" xmi.id="338" parent="327" /> + <UML:Association visibility="public" xmi.id="339" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="334" /> + <UML:AssociationEndRole visibility="public" isNavigable="true" type="224" /> + </UML:Association.connection> + </UML:Association> + <UML:Association visibility="public" xmi.id="340" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="335" /> + <UML:AssociationEndRole visibility="private" isNavigable="true" type="336" name="view" multiplicity="1" /> + </UML:Association.connection> + </UML:Association> + <UML:Association visibility="public" xmi.id="344" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="336" /> + <UML:AssociationEndRole visibility="private" isNavigable="true" type="343" name="model" multiplicity="1" /> + </UML:Association.connection> + </UML:Association> + <UML:Generalization child="336" visibility="public" xmi.id="353" parent="226" /> + <UML:Generalization child="343" visibility="public" xmi.id="354" parent="196" /> + <UML:Association visibility="public" xmi.id="403" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="224" /> + <UML:AssociationEndRole visibility="private" isNavigable="true" type="202" name="model" multiplicity="1" /> + </UML:Association.connection> + </UML:Association> + <UML:Association visibility="public" xmi.id="632" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="279" /> + <UML:AssociationEndRole visibility="private" isNavigable="true" type="71" name="folder" multiplicity="1" /> + </UML:Association.connection> + </UML:Association> + <UML:Association visibility="public" xmi.id="687" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="composite" type="70" /> + <UML:AssociationEndRole visibility="public" type="73" multiplicity="1" /> + </UML:Association.connection> + </UML:Association> + <UML:Association visibility="public" xmi.id="751" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="shared" type="71" /> + <UML:AssociationEndRole visibility="private" type="70" name="files" multiplicity="*" /> + </UML:Association.connection> + </UML:Association> + <UML:Association visibility="public" xmi.id="756" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="none" type="71" /> + <UML:AssociationEndRole visibility="private" isNavigable="true" type="70" name="corresponding_file" multiplicity="1" /> + </UML:Association.connection> + </UML:Association> + <UML:Association visibility="public" xmi.id="772" > + <UML:Association.connection> + <UML:AssociationEndRole visibility="public" aggregation="composite" type="70" /> + <UML:AssociationEndRole visibility="private" type="73" name="info" multiplicity="1" /> + </UML:Association.connection> + </UML:Association> + </UML:Model> + </XMI.content> + <XMI.extensions xmi.extender="umbrello" > + <docsettings viewid="834" documentation="" uniqueid="838" /> + <diagrams> + <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" linewidth="0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="1066" snapy="10" showatts="1" xmi.id="60" documentation="" type="402" showops="1" showpackage="0" name="ThunarVFS usage" localid="30000" showstereotype="0" showscope="1" snapcsgrid="1" font="helvetica,12,-1,5,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="834" > + <widgets> + <classwidget usesdiagramfillcolour="0" width="80" showattsigs="600" usesdiagramusefillcolour="0" x="250" linecolour="#ff0000" y="65" showopsigs="600" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="70" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="100" showattsigs="600" usesdiagramusefillcolour="0" x="390" linecolour="#ff0000" y="65" showopsigs="600" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="71" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="110" showattsigs="600" usesdiagramusefillcolour="0" x="445" linecolour="#ff0000" y="240" showopsigs="600" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="40" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="72" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="110" showattsigs="600" usesdiagramusefillcolour="0" x="425" linecolour="#ff0000" y="355" showopsigs="600" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="73" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <packagewidget usesdiagramfillcolour="1" width="90" usesdiagramusefillcolour="1" x="155" linecolour="none" y="295" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="50" usefillcolor="1" isinstance="0" xmi.id="78" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <notewidget usesdiagramfillcolour="1" width="190" usesdiagramusefillcolour="1" x="615" linecolour="none" y="230" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="60" usefillcolor="1" isinstance="0" xmi.id="79" text="To avoid extensive copying of path strings." font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <notewidget usesdiagramfillcolour="1" width="220" usesdiagramusefillcolour="1" x="370" linecolour="none" y="480" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="80" usefillcolor="1" isinstance="0" xmi.id="80" text="Must be threadsafe and cachable (we cannot derive from GObject here because of that)." font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <boxwidget usesdiagramfillcolour="1" width="770" usesdiagramusefillcolour="1" x="65" linecolour="none" y="215" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="370" usefillcolor="1" isinstance="0" xmi.id="81" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <notewidget usesdiagramfillcolour="1" width="260" usesdiagramusefillcolour="1" x="70" linecolour="none" y="455" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="110" usefillcolor="1" isinstance="0" xmi.id="82" text="Provides thread-safe caching of VFS infos (if appropriate), a synchronous interface to the file system and asynchronous notifications." font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </widgets> + <messages/> + <associations> + <assocwidget totalcounta="3" indexa="2" totalcountb="2" indexb="1" widgetbid="72" widgetaid="73" xmi.id="77" > + <linepath> + <startpoint startx="500" starty="355" /> + <endpoint endx="500" endy="280" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="20" usesdiagramusefillcolour="1" x="500" linecolour="none" y="285" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="785" text="1" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="40" usesdiagramusefillcolour="1" x="460" linecolour="none" y="285" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="+" isinstance="0" xmi.id="784" text="uri" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + <assocwidget totalcounta="3" indexa="2" visibilityB="200" totalcountb="2" indexb="1" widgetbid="73" widgetaid="78" roleBdoc="" documentation="" roleAdoc="" type="509" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="245" starty="330" /> + <endpoint endx="425" endy="370" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="72" widgetaid="79" roleBdoc="" documentation="" roleAdoc="" type="513" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="615" starty="260" /> + <endpoint endx="555" endy="260" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="73" widgetaid="80" roleBdoc="" documentation="" roleAdoc="" type="513" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="480" starty="480" /> + <endpoint endx="480" endy="385" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="78" widgetaid="82" roleBdoc="" documentation="" roleAdoc="" type="513" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="200" starty="455" /> + <endpoint endx="200" endy="345" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="4" indexa="3" visibilityB="200" totalcountb="3" indexb="1" widgetbid="72" widgetaid="70" roleBdoc="" documentation="" roleAdoc="" type="502" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="310" starty="95" /> + <endpoint endx="480" endy="240" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="3" indexa="2" visibilityB="200" totalcountb="3" indexb="2" widgetbid="72" widgetaid="71" roleBdoc="" documentation="" roleAdoc="" type="502" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="460" starty="95" /> + <endpoint endx="520" endy="240" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="3" indexa="1" visibilityB="200" totalcountb="3" indexb="2" widgetbid="78" widgetaid="71" roleBdoc="" documentation="" roleAdoc="" type="502" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="420" starty="95" /> + <endpoint endx="220" endy="295" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="4" indexa="1" visibilityB="200" totalcountb="3" indexb="1" widgetbid="78" widgetaid="70" roleBdoc="" documentation="" roleAdoc="" type="502" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="270" starty="95" /> + <endpoint endx="190" endy="295" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="3" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="72" widgetaid="78" roleBdoc="" documentation="" roleAdoc="" type="509" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="245" starty="310" /> + <endpoint endx="445" endy="260" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="4" indexa="2" totalcountb="3" indexb="1" widgetbid="73" widgetaid="70" xmi.id="772" > + <linepath> + <startpoint startx="290" starty="95" /> + <endpoint endx="460" endy="355" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="20" usesdiagramusefillcolour="1" x="460" linecolour="none" y="325" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="787" text="1" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="40" usesdiagramusefillcolour="1" x="420" linecolour="none" y="325" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="-" isinstance="0" xmi.id="786" text="info" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + </associations> + </diagram> + <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" linewidth="0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="1066" snapy="10" showatts="1" xmi.id="84" documentation="" type="402" showops="1" showpackage="0" name="Filesystem hierarchy" localid="30000" showstereotype="0" showscope="1" snapcsgrid="1" font="helvetica,12,-1,5,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="834" > + <widgets> + <classwidget usesdiagramfillcolour="0" width="140" showattsigs="600" usesdiagramusefillcolour="0" x="120" linecolour="#ff0000" y="285" showopsigs="600" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="85" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="80" showattsigs="600" usesdiagramusefillcolour="0" x="260" linecolour="#ff0000" y="75" showopsigs="600" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="70" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="140" showattsigs="600" usesdiagramusefillcolour="0" x="320" linecolour="#ff0000" y="285" showopsigs="600" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="87" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="100" showattsigs="601" usesdiagramusefillcolour="0" x="530" linecolour="#ff0000" y="75" showopsigs="600" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="71" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="140" showattsigs="600" usesdiagramusefillcolour="0" x="510" linecolour="#ff0000" y="285" showopsigs="600" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="89" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="80" showattsigs="600" usesdiagramusefillcolour="0" x="850" linecolour="#7ca332" y="65" showopsigs="600" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#c1ff4f" height="50" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="186" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <packagewidget usesdiagramfillcolour="0" width="70" usesdiagramusefillcolour="0" x="855" linecolour="#7ca332" y="205" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#c1ff4f" height="50" usefillcolor="1" isinstance="0" xmi.id="198" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + </widgets> + <messages/> + <associations> + <assocwidget totalcounta="2" indexa="1" totalcountb="3" indexb="1" widgetbid="70" widgetaid="85" xmi.id="86" > + <linepath> + <startpoint startx="190" starty="285" /> + <endpoint endx="290" endy="105" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="3" indexb="2" widgetbid="70" widgetaid="87" xmi.id="88" > + <linepath> + <startpoint startx="390" starty="285" /> + <endpoint endx="310" endy="105" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="71" widgetaid="89" xmi.id="90" > + <linepath> + <startpoint startx="580" starty="285" /> + <endpoint endx="580" endy="105" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="186" widgetaid="71" xmi.id="189" > + <linepath> + <startpoint startx="630" starty="90" /> + <endpoint endx="850" endy="90" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="90" usesdiagramusefillcolour="1" x="755" linecolour="none" y="95" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="+" isinstance="0" xmi.id="788" text="files-added" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="87" widgetaid="89" roleBdoc="" documentation="" roleAdoc="" type="502" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="510" starty="300" /> + <endpoint endx="460" endy="300" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="186" widgetaid="198" roleBdoc="" documentation="" roleAdoc="" type="509" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="890" starty="205" /> + <endpoint endx="890" endy="115" /> + </linepath> + </assocwidget> + </associations> + </diagram> + <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" linewidth="0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="1066" snapy="10" showatts="1" xmi.id="109" documentation="" type="402" showops="1" showpackage="0" name="ThunarVFS module" localid="30000" showstereotype="0" showscope="1" snapcsgrid="1" font="helvetica,12,-1,5,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="834" > + <widgets> + <classwidget usesdiagramfillcolour="0" width="140" showattsigs="600" usesdiagramusefillcolour="0" x="220" linecolour="#ff0000" y="125" showopsigs="600" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="190" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="73" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="290" showattsigs="601" usesdiagramusefillcolour="0" x="525" linecolour="#ff0000" y="165" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="110" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="72" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <enumwidget usesdiagramfillcolour="0" width="140" usesdiagramusefillcolour="0" x="70" linecolour="#ff0000" y="445" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="170" usefillcolor="1" isinstance="0" xmi.id="118" showpackage="0" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <enumwidget usesdiagramfillcolour="0" width="140" usesdiagramusefillcolour="0" x="220" linecolour="#ff0000" y="445" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="290" usefillcolor="1" isinstance="0" xmi.id="133" showpackage="0" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <enumwidget usesdiagramfillcolour="0" width="140" usesdiagramusefillcolour="0" x="370" linecolour="#ff0000" y="445" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="70" usefillcolor="1" isinstance="0" xmi.id="154" showpackage="0" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="70" showattsigs="601" usesdiagramusefillcolour="0" x="635" linecolour="#7ca332" y="85" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#c1ff4f" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="267" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <notewidget usesdiagramfillcolour="1" width="140" usesdiagramusefillcolour="1" x="10" linecolour="none" y="150" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="140" usefillcolor="1" isinstance="0" xmi.id="289" text="Must be usable with threads. So we'll prefer copying over refcounting (GObject) when necessary." font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </widgets> + <messages/> + <associations> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="72" widgetaid="73" xmi.id="77" > + <linepath> + <startpoint startx="360" starty="220" /> + <endpoint endx="525" endy="220" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="20" usesdiagramusefillcolour="1" x="510" linecolour="none" y="185" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="790" text="1" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="40" usesdiagramusefillcolour="1" x="480" linecolour="none" y="225" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="+" isinstance="0" xmi.id="789" text="uri" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + <assocwidget totalcounta="4" indexa="1" totalcountb="2" indexb="1" widgetbid="118" widgetaid="73" xmi.id="128" > + <linepath> + <startpoint startx="260" starty="315" /> + <endpoint endx="140" endy="445" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="20" usesdiagramusefillcolour="1" x="120" linecolour="none" y="415" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="792" text="1" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="50" usesdiagramusefillcolour="1" x="145" linecolour="none" y="415" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="+" isinstance="0" xmi.id="791" text="type" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + <assocwidget totalcounta="4" indexa="2" totalcountb="2" indexb="1" widgetbid="133" widgetaid="73" xmi.id="149" > + <linepath> + <startpoint startx="290" starty="315" /> + <endpoint endx="290" endy="445" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="20" usesdiagramusefillcolour="1" x="300" linecolour="none" y="415" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="794" text="1" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="60" usesdiagramusefillcolour="1" x="230" linecolour="none" y="415" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="+" isinstance="0" xmi.id="793" text="mode" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + <assocwidget totalcounta="4" indexa="3" totalcountb="2" indexb="1" widgetbid="154" widgetaid="73" xmi.id="157" > + <linepath> + <startpoint startx="330" starty="315" /> + <endpoint endx="440" endy="445" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="20" usesdiagramusefillcolour="1" x="440" linecolour="none" y="415" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="796" text="1" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="50" usesdiagramusefillcolour="1" x="385" linecolour="none" y="415" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="+" isinstance="0" xmi.id="795" text="flags" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="267" widgetaid="72" xmi.id="288" > + <linepath> + <startpoint startx="670" starty="165" /> + <endpoint endx="670" endy="115" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="73" widgetaid="289" roleBdoc="" documentation="" roleAdoc="" type="513" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="150" starty="220" /> + <endpoint endx="220" endy="220" /> + </linepath> + </assocwidget> + </associations> + </diagram> + <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" linewidth="0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="1066" snapy="10" showatts="1" xmi.id="194" documentation="" type="402" showops="1" showpackage="0" name="GUI bridge" localid="30000" showstereotype="0" showscope="1" snapcsgrid="1" font="helvetica,12,-1,5,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="834" > + <widgets> + <classwidget usesdiagramfillcolour="0" width="100" showattsigs="601" usesdiagramusefillcolour="0" x="500" linecolour="#ff0000" y="485" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="71" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="120" showattsigs="601" usesdiagramusefillcolour="0" x="290" linecolour="#ff0000" y="375" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="195" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <interfacewidget usesdiagramfillcolour="0" width="110" usesdiagramusefillcolour="0" x="495" linecolour="#7ca332" y="370" drawascircle="0" showopsigs="600" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#c1ff4f" height="40" usefillcolor="1" isinstance="0" xmi.id="196" showoperations="0" showpackage="0" showscope="1" font="helvetica,12,-1,5,50,1,1,0,0,0" /> + <packagewidget usesdiagramfillcolour="0" width="70" usesdiagramusefillcolour="0" x="515" linecolour="#7ca332" y="265" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#c1ff4f" height="50" usefillcolor="1" isinstance="0" xmi.id="199" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="130" showattsigs="601" usesdiagramusefillcolour="0" x="685" linecolour="#ff0000" y="375" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="202" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <interfacewidget usesdiagramfillcolour="0" width="100" usesdiagramusefillcolour="0" x="300" linecolour="#ff0000" y="230" drawascircle="0" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="40" usefillcolor="1" isinstance="0" xmi.id="214" showoperations="0" showpackage="0" showscope="1" font="helvetica,12,-1,5,75,1,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="120" showattsigs="601" usesdiagramusefillcolour="0" x="220" linecolour="#ff0000" y="135" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="220" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="120" showattsigs="601" usesdiagramusefillcolour="0" x="370" linecolour="#ff0000" y="135" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="221" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="120" showattsigs="601" usesdiagramusefillcolour="0" x="690" linecolour="#ff0000" y="135" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="224" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="100" showattsigs="601" usesdiagramusefillcolour="0" x="500" linecolour="#7ca332" y="135" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#c1ff4f" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="226" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="150" showattsigs="601" usesdiagramusefillcolour="0" x="55" linecolour="#ff0000" y="135" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="257" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="150" showattsigs="601" usesdiagramusefillcolour="0" x="55" linecolour="#ff0000" y="375" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="279" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + </widgets> + <messages/> + <associations> + <assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="196" widgetaid="199" roleBdoc="" documentation="" roleAdoc="" type="509" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="550" starty="315" /> + <endpoint endx="550" endy="370" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="196" widgetaid="195" xmi.id="200" > + <linepath> + <startpoint startx="410" starty="390" /> + <endpoint endx="495" endy="390" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="71" widgetaid="195" xmi.id="201" > + <linepath> + <startpoint startx="350" starty="405" /> + <endpoint endx="500" endy="500" /> + <point x="350" y="500" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="20" usesdiagramusefillcolour="1" x="480" linecolour="none" y="465" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="798" text="1" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="50" usesdiagramusefillcolour="1" x="445" linecolour="none" y="505" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="-" isinstance="0" xmi.id="797" text="folder" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="196" widgetaid="202" xmi.id="203" > + <linepath> + <startpoint startx="685" starty="390" /> + <endpoint endx="605" endy="390" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="71" widgetaid="202" xmi.id="204" > + <linepath> + <startpoint startx="750" starty="405" /> + <endpoint endx="600" endy="500" /> + <point x="750" y="500" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="20" usesdiagramusefillcolour="1" x="600" linecolour="none" y="465" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="800" text="*" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="60" usesdiagramusefillcolour="1" x="600" linecolour="none" y="505" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="-" isinstance="0" xmi.id="799" text="folders" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="195" widgetaid="214" xmi.id="215" > + <linepath> + <startpoint startx="350" starty="270" /> + <endpoint endx="350" endy="375" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="20" usesdiagramusefillcolour="1" x="360" linecolour="none" y="335" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="802" text="1" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="60" usesdiagramusefillcolour="1" x="290" linecolour="none" y="335" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="#" isinstance="0" xmi.id="801" text="model" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="3" indexb="1" widgetbid="214" widgetaid="220" xmi.id="222" > + <linepath> + <startpoint startx="280" starty="165" /> + <endpoint endx="330" endy="230" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="3" indexb="2" widgetbid="214" widgetaid="221" xmi.id="223" > + <linepath> + <startpoint startx="430" starty="165" /> + <endpoint endx="370" endy="230" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="226" widgetaid="199" roleBdoc="" documentation="" roleAdoc="" type="509" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="550" starty="265" /> + <endpoint endx="550" endy="165" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="226" widgetaid="224" xmi.id="227" > + <linepath> + <startpoint startx="690" starty="150" /> + <endpoint endx="600" endy="150" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="279" widgetaid="257" xmi.id="281" > + <linepath> + <startpoint startx="130" starty="165" /> + <endpoint endx="130" endy="375" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="20" usesdiagramusefillcolour="1" x="140" linecolour="none" y="345" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="804" text="1" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="60" usesdiagramusefillcolour="1" x="70" linecolour="none" y="345" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="-" isinstance="0" xmi.id="803" text="model" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="202" widgetaid="224" xmi.id="403" > + <linepath> + <startpoint startx="750" starty="165" /> + <endpoint endx="750" endy="375" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="20" usesdiagramusefillcolour="1" x="760" linecolour="none" y="345" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="806" text="1" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="60" usesdiagramusefillcolour="1" x="690" linecolour="none" y="345" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="-" isinstance="0" xmi.id="805" text="model" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="71" widgetaid="279" xmi.id="632" > + <linepath> + <startpoint startx="130" starty="405" /> + <endpoint endx="550" endy="515" /> + <point x="130" y="580" /> + <point x="550" y="580" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="20" usesdiagramusefillcolour="1" x="550" linecolour="none" y="515" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="808" text="1" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="50" usesdiagramusefillcolour="1" x="495" linecolour="none" y="515" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="-" isinstance="0" xmi.id="807" text="folder" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + </associations> + </diagram> + <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" linewidth="0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="1066" snapy="10" showatts="1" xmi.id="233" documentation="" type="402" showops="0" showpackage="0" name="Window GUI" localid="30000" showstereotype="0" showscope="1" snapcsgrid="1" font="helvetica,12,-1,5,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="834" > + <widgets> + <classwidget usesdiagramfillcolour="0" width="110" showattsigs="601" usesdiagramusefillcolour="0" x="325" linecolour="#ff0000" y="95" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="234" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <interfacewidget usesdiagramfillcolour="0" width="100" usesdiagramusefillcolour="0" x="330" linecolour="#ff0000" y="220" drawascircle="0" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="40" usefillcolor="1" isinstance="0" xmi.id="214" showoperations="0" showpackage="0" showscope="1" font="helvetica,12,-1,5,75,1,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="120" showattsigs="601" usesdiagramusefillcolour="0" x="320" linecolour="#ff0000" y="315" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="195" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="130" showattsigs="601" usesdiagramusefillcolour="0" x="535" linecolour="#ff0000" y="225" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="240" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="100" showattsigs="601" usesdiagramusefillcolour="0" x="550" linecolour="#ff0000" y="315" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="71" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <notewidget usesdiagramfillcolour="1" width="260" usesdiagramusefillcolour="1" x="740" linecolour="none" y="190" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="120" usefillcolor="1" isinstance="0" xmi.id="249" text="Requires knowledge about the ThunarFolder in order to be able to display a progress bar, while the folder is loading. That should be +fixed, better use ThunarListModel here." font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="120" showattsigs="601" usesdiagramusefillcolour="0" x="160" linecolour="#ff0000" y="225" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="327" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,1,0,0,0,0" /> + </widgets> + <messages/> + <associations> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="195" widgetaid="214" xmi.id="215" > + <linepath> + <startpoint startx="380" starty="260" /> + <endpoint endx="380" endy="315" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="20" usesdiagramusefillcolour="1" x="390" linecolour="none" y="275" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="810" text="1" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="60" usesdiagramusefillcolour="1" x="320" linecolour="none" y="275" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="#" isinstance="0" xmi.id="809" text="model" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + <assocwidget totalcounta="4" indexa="2" totalcountb="2" indexb="1" widgetbid="214" widgetaid="234" xmi.id="242" > + <linepath> + <startpoint startx="380" starty="125" /> + <endpoint endx="380" endy="220" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="4" indexa="3" totalcountb="2" indexb="1" widgetbid="240" widgetaid="234" xmi.id="243" > + <linepath> + <startpoint startx="410" starty="125" /> + <endpoint endx="600" endy="225" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="71" widgetaid="195" xmi.id="201" > + <linepath> + <startpoint startx="440" starty="330" /> + <endpoint endx="550" endy="330" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="20" usesdiagramusefillcolour="1" x="540" linecolour="none" y="295" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="812" text="1" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="50" usesdiagramusefillcolour="1" x="495" linecolour="none" y="335" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="-" isinstance="0" xmi.id="811" text="folder" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="71" widgetaid="240" xmi.id="248" > + <linepath> + <startpoint startx="600" starty="255" /> + <endpoint endx="600" endy="315" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="240" widgetaid="249" roleBdoc="" documentation="" roleAdoc="" type="513" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="740" starty="250" /> + <endpoint endx="665" endy="240" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="4" indexa="1" totalcountb="2" indexb="1" widgetbid="327" widgetaid="234" xmi.id="328" > + <linepath> + <startpoint startx="350" starty="125" /> + <endpoint endx="220" endy="225" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="40" usesdiagramusefillcolour="1" x="180" linecolour="none" y="195" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="814" text="0..1" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="80" usesdiagramusefillcolour="1" x="250" linecolour="none" y="195" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="-" isinstance="0" xmi.id="813" text="side_pane" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + </associations> + </diagram> + <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" linewidth="0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="1066" snapy="10" showatts="1" xmi.id="250" documentation="" type="402" showops="1" showpackage="0" name="Application bridge" localid="30000" showstereotype="0" showscope="1" snapcsgrid="1" font="helvetica,12,-1,5,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="834" > + <widgets> + <classwidget usesdiagramfillcolour="0" width="130" showattsigs="601" usesdiagramusefillcolour="0" x="165" linecolour="#ff0000" y="115" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="251" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="110" showattsigs="601" usesdiagramusefillcolour="0" x="515" linecolour="#ff0000" y="85" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="234" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="150" showattsigs="601" usesdiagramusefillcolour="0" x="515" linecolour="#ff0000" y="155" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="257" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="140" showattsigs="601" usesdiagramusefillcolour="0" x="160" linecolour="#ff0000" y="305" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="264" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + </widgets> + <messages/> + <associations> + <assocwidget totalcounta="3" indexa="1" totalcountb="2" indexb="1" widgetbid="234" widgetaid="251" xmi.id="252" > + <linepath> + <startpoint startx="295" starty="130" /> + <endpoint endx="515" endy="100" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="20" usesdiagramusefillcolour="1" x="500" linecolour="none" y="65" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="816" text="*" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="80" usesdiagramusefillcolour="1" x="430" linecolour="none" y="105" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="+" isinstance="0" xmi.id="815" text="windows" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + <assocwidget totalcounta="3" indexa="2" totalcountb="2" indexb="1" widgetbid="257" widgetaid="251" xmi.id="258" > + <linepath> + <startpoint startx="295" starty="140" /> + <endpoint endx="515" endy="170" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="40" usesdiagramusefillcolour="1" x="480" linecolour="none" y="165" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="818" text="0..1" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="70" usesdiagramusefillcolour="1" x="445" linecolour="none" y="135" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="+" isinstance="0" xmi.id="817" text="desktop" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="264" widgetaid="251" roleBdoc="" documentation="" roleAdoc="" type="502" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="230" starty="145" /> + <endpoint endx="230" endy="305" /> + </linepath> + </assocwidget> + </associations> + </diagram> + <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" linewidth="0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="1066" snapy="10" showatts="1" xmi.id="263" documentation="" type="402" showops="1" showpackage="0" name="Settings" localid="30000" showstereotype="0" showscope="1" snapcsgrid="1" font="helvetica,12,-1,5,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="834" > + <widgets> + <classwidget usesdiagramfillcolour="0" width="170" showattsigs="601" usesdiagramusefillcolour="0" x="315" linecolour="#ff0000" y="80" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="40" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="264" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <packagewidget usesdiagramfillcolour="0" width="70" usesdiagramusefillcolour="0" x="675" linecolour="#7ca332" y="75" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#c1ff4f" height="50" usefillcolor="1" isinstance="0" xmi.id="198" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="70" showattsigs="601" usesdiagramusefillcolour="0" x="545" linecolour="#7ca332" y="85" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#c1ff4f" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="267" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="500" showattsigs="601" usesdiagramusefillcolour="0" x="150" linecolour="#ff0000" y="210" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="40" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="269" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <notewidget usesdiagramfillcolour="1" width="240" usesdiagramusefillcolour="1" x="30" linecolour="none" y="50" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="100" usefillcolor="1" isinstance="0" xmi.id="277" text="All thunar objects using the ThunarPreferences register notifications using the GObject "notify" signal to stay informed of changes." font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <notewidget usesdiagramfillcolour="1" width="380" usesdiagramusefillcolour="1" x="210" linecolour="none" y="305" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="50" usefillcolor="1" isinstance="0" xmi.id="278" text="Not all settings will show up in the preferences dialog, there'll be hidden settings just like in Terminal." font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </widgets> + <messages/> + <associations> + <assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="267" widgetaid="198" roleBdoc="" documentation="" roleAdoc="" type="509" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="675" starty="100" /> + <endpoint endx="615" endy="100" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="267" widgetaid="264" xmi.id="268" > + <linepath> + <startpoint startx="485" starty="100" /> + <endpoint endx="545" endy="100" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="264" widgetaid="269" xmi.id="272" > + <linepath> + <startpoint startx="400" starty="210" /> + <endpoint endx="400" endy="120" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="20" usesdiagramusefillcolour="1" x="400" linecolour="none" y="125" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="820" text="1" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="90" usesdiagramusefillcolour="1" x="305" linecolour="none" y="125" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="-" isinstance="0" xmi.id="819" text="preferences" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="264" widgetaid="277" roleBdoc="" documentation="" roleAdoc="" type="513" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="270" starty="100" /> + <endpoint endx="315" endy="100" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="269" widgetaid="278" roleBdoc="" documentation="" roleAdoc="" type="513" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="400" starty="305" /> + <endpoint endx="400" endy="250" /> + </linepath> + </assocwidget> + </associations> + </diagram> + <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" linewidth="0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="1066" snapy="10" showatts="1" xmi.id="333" documentation="" type="402" showops="1" showpackage="0" name="Sidepane GUI" localid="30000" showstereotype="0" showscope="1" snapcsgrid="1" font="helvetica,12,-1,5,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="834" > + <widgets> + <classwidget usesdiagramfillcolour="0" width="140" showattsigs="601" usesdiagramusefillcolour="0" x="290" linecolour="#ff0000" y="55" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="50" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="327" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,1,0,0,0,0" /> + <classwidget usesdiagramfillcolour="1" width="120" showattsigs="601" usesdiagramusefillcolour="1" x="170" linecolour="none" y="180" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="40" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="334" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="1" width="160" showattsigs="601" usesdiagramusefillcolour="1" x="400" linecolour="none" y="180" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="40" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="335" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="1" width="160" showattsigs="601" usesdiagramusefillcolour="1" x="400" linecolour="none" y="300" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="40" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="336" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="1" width="120" showattsigs="601" usesdiagramusefillcolour="1" x="170" linecolour="none" y="300" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="40" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="224" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <notewidget usesdiagramfillcolour="1" width="210" usesdiagramusefillcolour="1" x="545" linecolour="none" y="45" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="70" usefillcolor="1" isinstance="0" xmi.id="341" text="Provides scrolling and other basic services for the sidepane implementations." font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </widgets> + <messages/> + <associations> + <assocwidget totalcounta="2" indexa="1" totalcountb="3" indexb="1" widgetbid="327" widgetaid="334" xmi.id="337" > + <linepath> + <startpoint startx="230" starty="180" /> + <endpoint endx="340" endy="105" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="3" indexb="2" widgetbid="327" widgetaid="335" xmi.id="338" > + <linepath> + <startpoint startx="480" starty="180" /> + <endpoint endx="380" endy="105" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="224" widgetaid="334" xmi.id="339" > + <linepath> + <startpoint startx="230" starty="220" /> + <endpoint endx="230" endy="300" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="336" widgetaid="335" xmi.id="340" > + <linepath> + <startpoint startx="480" starty="220" /> + <endpoint endx="480" endy="300" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="327" widgetaid="341" roleBdoc="" documentation="" roleAdoc="" type="513" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="545" starty="80" /> + <endpoint endx="430" endy="80" /> + </linepath> + </assocwidget> + </associations> + </diagram> + <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" linewidth="0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="1066" snapy="10" showatts="1" xmi.id="342" documentation="" type="402" showops="1" showpackage="0" name="Favourites GUI" localid="30000" showstereotype="0" showscope="1" snapcsgrid="1" font="helvetica,12,-1,5,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="834" > + <widgets> + <classwidget usesdiagramfillcolour="1" width="160" showattsigs="601" usesdiagramusefillcolour="1" x="50" linecolour="none" y="80" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="40" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="335" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="1" width="160" showattsigs="601" usesdiagramusefillcolour="1" x="50" linecolour="none" y="220" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="40" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="336" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="1" width="140" showattsigs="601" usesdiagramusefillcolour="1" x="300" linecolour="none" y="75" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="50" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="327" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,1,0,0,0,0" /> + <packagewidget usesdiagramfillcolour="0" width="70" usesdiagramusefillcolour="0" x="485" linecolour="#7ca332" y="255" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#c1ff4f" height="50" usefillcolor="1" isinstance="0" xmi.id="199" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <interfacewidget usesdiagramfillcolour="0" width="110" usesdiagramusefillcolour="0" x="305" linecolour="#7ca332" y="310" drawascircle="0" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#c1ff4f" height="40" usefillcolor="1" isinstance="0" xmi.id="196" showoperations="0" showpackage="0" showscope="1" font="helvetica,12,-1,5,75,1,0,0,0,0" /> + <classwidget usesdiagramfillcolour="1" width="170" showattsigs="601" usesdiagramusefillcolour="1" x="45" linecolour="none" y="310" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="40" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="343" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="420" showattsigs="601" usesdiagramusefillcolour="0" x="50" linecolour="#ff0000" y="440" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="160" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="70" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="100" showattsigs="601" usesdiagramusefillcolour="0" x="310" linecolour="#7ca332" y="225" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#c1ff4f" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="226" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + </widgets> + <messages/> + <associations> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="336" widgetaid="335" xmi.id="340" > + <linepath> + <startpoint startx="130" starty="120" /> + <endpoint endx="130" endy="220" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="20" usesdiagramusefillcolour="1" x="140" linecolour="none" y="185" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="822" text="1" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="50" usesdiagramusefillcolour="1" x="75" linecolour="none" y="185" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="-" isinstance="0" xmi.id="821" text="view" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="327" widgetaid="335" xmi.id="338" > + <linepath> + <startpoint startx="210" starty="100" /> + <endpoint endx="300" endy="100" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="3" indexa="2" visibilityB="200" totalcountb="2" indexb="1" widgetbid="196" widgetaid="199" roleBdoc="" documentation="" roleAdoc="" type="509" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="485" starty="290" /> + <endpoint endx="415" endy="330" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="343" widgetaid="336" xmi.id="344" > + <linepath> + <startpoint startx="130" starty="260" /> + <endpoint endx="130" endy="310" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="20" usesdiagramusefillcolour="1" x="140" linecolour="none" y="275" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="824" text="1" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="60" usesdiagramusefillcolour="1" x="70" linecolour="none" y="275" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="-" isinstance="0" xmi.id="823" text="model" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="196" widgetaid="343" xmi.id="354" > + <linepath> + <startpoint startx="215" starty="330" /> + <endpoint endx="305" endy="330" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="70" widgetaid="343" roleBdoc="" documentation="" roleAdoc="" type="502" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="130" starty="350" /> + <endpoint endx="260" endy="440" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="226" widgetaid="336" xmi.id="353" > + <linepath> + <startpoint startx="210" starty="240" /> + <endpoint endx="310" endy="240" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="3" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="226" widgetaid="199" roleBdoc="" documentation="" roleAdoc="" type="509" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="485" starty="270" /> + <endpoint endx="410" endy="240" /> + </linepath> + </assocwidget> + </associations> + </diagram> + <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" linewidth="0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="1066" snapy="10" showatts="0" xmi.id="355" documentation="" type="402" showops="0" showpackage="0" name="Treepane GUI" localid="30000" showstereotype="0" showscope="1" snapcsgrid="1" font="helvetica,12,-1,5,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="834" > + <widgets> + <classwidget usesdiagramfillcolour="1" width="120" showattsigs="601" usesdiagramusefillcolour="1" x="130" linecolour="none" y="205" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="224" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="1" width="120" showattsigs="601" usesdiagramusefillcolour="1" x="130" linecolour="none" y="55" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="334" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="1" width="120" showattsigs="601" usesdiagramusefillcolour="1" x="360" linecolour="none" y="55" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="327" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,1,0,0,0,0" /> + <packagewidget usesdiagramfillcolour="0" width="70" usesdiagramusefillcolour="0" x="515" linecolour="#7ca332" y="225" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#c1ff4f" height="50" usefillcolor="1" isinstance="0" xmi.id="199" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="100" showattsigs="601" usesdiagramusefillcolour="0" x="330" linecolour="#7ca332" y="205" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#c1ff4f" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="226" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <interfacewidget usesdiagramfillcolour="0" width="110" usesdiagramusefillcolour="0" x="325" linecolour="#7ca332" y="280" drawascircle="0" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#c1ff4f" height="40" usefillcolor="1" isinstance="0" xmi.id="196" showoperations="0" showpackage="0" showscope="1" font="helvetica,12,-1,5,75,1,0,0,0,0" /> + <classwidget usesdiagramfillcolour="1" width="130" showattsigs="601" usesdiagramusefillcolour="1" x="125" linecolour="none" y="285" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="30" usefillcolor="1" showpubliconly="0" showattributes="0" isinstance="0" xmi.id="202" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <notewidget usesdiagramfillcolour="1" width="220" usesdiagramusefillcolour="1" x="80" linecolour="none" y="345" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="50" usefillcolor="1" isinstance="0" xmi.id="420" text="May not be required (left as an implementation detail)." font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </widgets> + <messages/> + <associations> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="224" widgetaid="334" xmi.id="339" > + <linepath> + <startpoint startx="190" starty="85" /> + <endpoint endx="190" endy="205" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="327" widgetaid="334" xmi.id="337" > + <linepath> + <startpoint startx="250" starty="70" /> + <endpoint endx="360" endy="70" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="226" widgetaid="224" xmi.id="227" > + <linepath> + <startpoint startx="250" starty="220" /> + <endpoint endx="330" endy="220" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="3" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="226" widgetaid="199" roleBdoc="" documentation="" roleAdoc="" type="509" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="515" starty="240" /> + <endpoint endx="430" endy="220" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="3" indexa="2" visibilityB="200" totalcountb="2" indexb="1" widgetbid="196" widgetaid="199" roleBdoc="" documentation="" roleAdoc="" type="509" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="515" starty="260" /> + <endpoint endx="435" endy="300" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="196" widgetaid="202" xmi.id="203" > + <linepath> + <startpoint startx="255" starty="300" /> + <endpoint endx="325" endy="300" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="202" widgetaid="224" xmi.id="225" > + <linepath> + <startpoint startx="190" starty="235" /> + <endpoint endx="190" endy="285" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="20" usesdiagramusefillcolour="1" x="190" linecolour="none" y="255" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="826" text="1" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="60" usesdiagramusefillcolour="1" x="130" linecolour="none" y="255" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="-" isinstance="0" xmi.id="825" text="model" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="224" widgetaid="420" roleBdoc="" documentation="" roleAdoc="" type="513" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="80" starty="370" /> + <endpoint endx="130" endy="220" /> + <point x="50" y="370" /> + <point x="50" y="220" /> + </linepath> + </assocwidget> + </associations> + </diagram> + <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" linewidth="0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="1066" snapy="10" showatts="1" xmi.id="424" documentation="" type="406" showops="1" showpackage="0" name="Overview" localid="30000" showstereotype="0" showscope="1" snapcsgrid="1" font="helvetica,12,-1,5,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="834" > + <widgets> + <componentwidget usesdiagramfillcolour="1" width="90" usesdiagramusefillcolour="1" x="265" linecolour="none" y="95" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="70" usefillcolor="1" isinstance="0" xmi.id="425" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <componentwidget usesdiagramfillcolour="1" width="180" usesdiagramusefillcolour="1" x="220" linecolour="none" y="235" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="70" usefillcolor="1" isinstance="0" xmi.id="426" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <componentwidget usesdiagramfillcolour="1" width="170" usesdiagramusefillcolour="1" x="625" linecolour="none" y="135" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="70" usefillcolor="1" isinstance="0" xmi.id="428" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <componentwidget usesdiagramfillcolour="1" width="150" usesdiagramusefillcolour="1" x="635" linecolour="none" y="225" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="70" usefillcolor="1" isinstance="0" xmi.id="429" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <boxwidget usesdiagramfillcolour="1" width="250" usesdiagramusefillcolour="1" x="605" linecolour="none" y="110" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="220" usefillcolor="1" isinstance="0" xmi.id="430" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="70" usesdiagramusefillcolour="1" x="605" linecolour="none" y="305" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="700" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="431" text="Optional" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <componentwidget usesdiagramfillcolour="1" width="120" usesdiagramusefillcolour="1" x="250" linecolour="none" y="385" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="70" usefillcolor="1" isinstance="0" xmi.id="479" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + </widgets> + <messages/> + <associations> + <assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="426" widgetaid="425" roleBdoc="" documentation="" roleAdoc="" type="502" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="310" starty="165" /> + <endpoint endx="310" endy="235" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="479" widgetaid="426" roleBdoc="" documentation="" roleAdoc="" type="502" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="310" starty="305" /> + <endpoint endx="310" endy="385" /> + </linepath> + </assocwidget> + </associations> + </diagram> + <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" linewidth="0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="1066" snapy="10" showatts="1" xmi.id="525" documentation="" type="402" showops="1" showpackage="0" name="Filesystem abstraction layer" localid="30000" showstereotype="0" showscope="1" snapcsgrid="1" font="helvetica,12,-1,5,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="834" > + <widgets> + <classwidget usesdiagramfillcolour="0" width="420" showattsigs="601" usesdiagramusefillcolour="0" x="180" linecolour="#ff0000" y="70" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="160" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="70" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="0" width="440" showattsigs="601" usesdiagramusefillcolour="0" x="170" linecolour="#ff0000" y="460" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="60" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="71" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + </widgets> + <messages/> + <associations> + <assocwidget totalcounta="3" indexa="1" totalcountb="3" indexb="1" widgetbid="70" widgetaid="71" xmi.id="751" > + <linepath> + <startpoint startx="320" starty="460" /> + <endpoint endx="320" endy="230" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="20" usesdiagramusefillcolour="1" x="320" linecolour="none" y="235" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="828" text="*" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="40" usesdiagramusefillcolour="1" x="280" linecolour="none" y="235" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="-" isinstance="0" xmi.id="827" text="files" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + <assocwidget totalcounta="3" indexa="2" totalcountb="3" indexb="2" widgetbid="70" widgetaid="71" xmi.id="756" > + <linepath> + <startpoint startx="460" starty="460" /> + <endpoint endx="460" endy="230" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="20" usesdiagramusefillcolour="1" x="440" linecolour="none" y="235" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="830" text="1" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="130" usesdiagramusefillcolour="1" x="465" linecolour="none" y="235" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="-" isinstance="0" xmi.id="829" text="corresponding_file" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + </associations> + </diagram> + <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" linewidth="0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="1066" snapy="10" showatts="1" xmi.id="534" documentation="" type="402" showops="1" showpackage="0" name="MIME actions" localid="30000" showstereotype="0" showscope="1" snapcsgrid="1" font="helvetica,12,-1,5,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="834" > + <widgets> + <classwidget usesdiagramfillcolour="0" width="140" showattsigs="601" usesdiagramusefillcolour="0" x="220" linecolour="#ff0000" y="195" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="30" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="535" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <notewidget usesdiagramfillcolour="1" width="190" usesdiagramusefillcolour="1" x="445" linecolour="none" y="185" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="50" usefillcolor="1" isinstance="0" xmi.id="537" text="This should probably be handled in exo as well." font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </widgets> + <messages/> + <associations> + <assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="535" widgetaid="537" roleBdoc="" documentation="" roleAdoc="" type="513" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="445" starty="210" /> + <endpoint endx="360" endy="210" /> + </linepath> + </assocwidget> + </associations> + </diagram> + <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" linewidth="0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="1066" snapy="10" showatts="1" xmi.id="777" documentation="" type="402" showops="1" showpackage="0" name="Desktop GUI" localid="30000" showstereotype="0" showscope="1" snapcsgrid="1" font="helvetica,12,-1,5,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="834" > + <widgets> + <classwidget usesdiagramfillcolour="1" width="150" showattsigs="601" usesdiagramusefillcolour="1" x="265" linecolour="none" y="220" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="40" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="279" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="1" width="150" showattsigs="601" usesdiagramusefillcolour="1" x="265" linecolour="none" y="90" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="40" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="257" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <notewidget usesdiagramfillcolour="1" width="250" usesdiagramusefillcolour="1" x="175" linecolour="none" y="390" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="160" usefillcolor="1" isinstance="0" xmi.id="782" text="Store icon positions and backdrop settings into the ~/Desktop/.directory file as special attributes? Would be logical to keep the desktop folder attributes with the physical desktop folder." font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </widgets> + <messages/> + <associations> + <assocwidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="279" widgetaid="257" xmi.id="281" > + <linepath> + <startpoint startx="340" starty="130" /> + <endpoint endx="340" endy="220" /> + </linepath> + <floatingtext usesdiagramfillcolour="1" width="20" usesdiagramusefillcolour="1" x="350" linecolour="none" y="185" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="702" fillcolour="none" height="30" usefillcolor="1" pretext="" isinstance="0" xmi.id="832" text="1" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + <floatingtext usesdiagramfillcolour="1" width="60" usesdiagramusefillcolour="1" x="280" linecolour="none" y="185" linewidth="none" usesdiagramlinewidth="1" posttext="" usesdiagramlinecolour="1" role="710" fillcolour="none" height="30" usefillcolor="1" pretext="-" isinstance="0" xmi.id="831" text="model" font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="279" widgetaid="782" roleBdoc="" documentation="" roleAdoc="" type="513" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="300" starty="390" /> + <endpoint endx="340" endy="260" /> + </linepath> + </assocwidget> + </associations> + </diagram> + <diagram snapgrid="1" showattsig="1" fillcolor="#ffffc0" linewidth="0" zoom="100" showgrid="1" showopsig="1" usefillcolor="1" snapx="10" canvaswidth="1066" snapy="10" showatts="1" xmi.id="834" documentation="" type="402" showops="1" showpackage="0" name="ThunarVFS monitoring" localid="30000" showstereotype="0" showscope="1" snapcsgrid="1" font="helvetica,12,-1,5,50,0,0,0,0,0" linecolor="#ff0000" canvasheight="834" > + <widgets> + <classwidget usesdiagramfillcolour="0" width="370" showattsigs="601" usesdiagramusefillcolour="0" x="115" linecolour="#ff0000" y="105" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="50" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="835" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <packagewidget usesdiagramfillcolour="1" width="90" usesdiagramusefillcolour="1" x="185" linecolour="none" y="375" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="50" usefillcolor="1" isinstance="0" xmi.id="78" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <classwidget usesdiagramfillcolour="1" width="240" showattsigs="601" usesdiagramusefillcolour="1" x="340" linecolour="none" y="305" showopsigs="601" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="190" usefillcolor="1" showpubliconly="0" showattributes="1" isinstance="0" xmi.id="73" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="helvetica,12,-1,5,75,0,0,0,0,0" /> + <notewidget usesdiagramfillcolour="1" width="250" usesdiagramusefillcolour="1" x="595" linecolour="none" y="40" linewidth="none" usesdiagramlinewidth="1" usesdiagramlinecolour="1" fillcolour="none" height="180" usefillcolor="1" isinstance="0" xmi.id="838" text="Provides asynchronous notifications to watched files. Primary backend will be a thread (or multiple threads), that periodically call stat() on the watched files. + +In addition, kqueue() and FAM can be used. dnotify is not thread-safe." font="helvetica,12,-1,5,50,0,0,0,0,0" /> + </widgets> + <messages/> + <associations> + <assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="3" indexb="1" widgetbid="835" widgetaid="78" roleBdoc="" documentation="" roleAdoc="" type="509" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="230" starty="375" /> + <endpoint endx="240" endy="155" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="73" widgetaid="78" roleBdoc="" documentation="" roleAdoc="" type="509" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="275" starty="400" /> + <endpoint endx="340" endy="400" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="3" indexa="2" visibilityB="200" totalcountb="2" indexb="1" widgetbid="73" widgetaid="835" roleBdoc="" documentation="" roleAdoc="" type="502" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="360" starty="155" /> + <endpoint endx="460" endy="305" /> + </linepath> + </assocwidget> + <assocwidget totalcounta="2" indexa="1" visibilityB="200" totalcountb="2" indexb="1" widgetbid="835" widgetaid="838" roleBdoc="" documentation="" roleAdoc="" type="513" changeabilityA="900" changeabilityB="900" visibilityA="200" > + <linepath> + <startpoint startx="595" starty="130" /> + <endpoint endx="485" endy="130" /> + </linepath> + </assocwidget> + </associations> + </diagram> + </diagrams> + <listview> + <listitem open="1" type="800" id="-1" label="Views" > + <listitem open="1" type="801" id="-1" label="Logical View" > + <listitem open="0" type="807" id="250" label="Application bridge" /> + <listitem open="0" type="807" id="777" label="Desktop GUI" /> + <listitem open="0" type="807" id="342" label="Favourites GUI" /> + <listitem open="0" type="807" id="525" label="Filesystem abstraction layer" /> + <listitem open="0" type="807" id="84" label="Filesystem hierarchy" /> + <listitem open="0" type="807" id="194" label="GUI bridge" /> + <listitem open="0" type="807" id="534" label="MIME actions" /> + <listitem open="0" type="807" id="263" label="Settings" /> + <listitem open="0" type="807" id="333" label="Sidepane GUI" /> + <listitem open="0" type="807" id="109" label="ThunarVFS module" /> + <listitem open="0" type="807" id="834" label="ThunarVFS monitoring" /> + <listitem open="0" type="807" id="60" label="ThunarVFS usage" /> + <listitem open="0" type="807" id="355" label="Treepane GUI" /> + <listitem open="0" type="807" id="233" label="Window GUI" /> + <listitem open="1" type="813" id="251" /> + <listitem open="1" type="813" id="85" /> + <listitem open="1" type="813" id="279" /> + <listitem open="1" type="813" id="257" /> + <listitem open="1" type="813" id="343" /> + <listitem open="1" type="813" id="335" /> + <listitem open="1" type="813" id="336" /> + <listitem open="1" type="813" id="70" > + <listitem open="0" type="814" id="686" /> + <listitem open="0" type="814" id="743" /> + <listitem open="0" type="815" id="692" /> + <listitem open="0" type="815" id="745" /> + <listitem open="0" type="815" id="746" /> + <listitem open="0" type="815" id="748" /> + <listitem open="0" type="815" id="747" /> + <listitem open="0" type="815" id="749" /> + </listitem> + <listitem open="1" type="813" id="71" > + <listitem open="0" type="815" id="761" /> + <listitem open="0" type="815" id="764" /> + </listitem> + <listitem open="1" type="813" id="221" /> + <listitem open="1" type="813" id="195" /> + <listitem open="1" type="813" id="220" /> + <listitem open="1" type="813" id="535" /> + <listitem open="1" type="813" id="264" > + <listitem open="0" type="814" id="265" /> + </listitem> + <listitem open="1" type="813" id="269" > + <listitem open="0" type="815" id="270" /> + </listitem> + <listitem open="1" type="813" id="327" > + <listitem open="0" type="814" id="421" /> + </listitem> + <listitem open="1" type="813" id="240" /> + <listitem open="1" type="813" id="89" /> + <listitem open="1" type="813" id="87" /> + <listitem open="1" type="813" id="202" /> + <listitem open="1" type="813" id="334" /> + <listitem open="1" type="813" id="224" /> + <listitem open="1" type="813" id="234" /> + <listitem open="1" type="817" id="214" /> + <listitem open="1" type="818" id="162" > + <listitem open="0" type="813" id="163" /> + </listitem> + <listitem open="1" type="818" id="198" > + <listitem open="0" type="813" id="267" /> + <listitem open="0" type="813" id="186" > + <listitem open="0" type="816" id="187" /> + </listitem> + </listitem> + <listitem open="1" type="818" id="199" > + <listitem open="0" type="813" id="226" /> + <listitem open="0" type="817" id="196" /> + </listitem> + <listitem open="1" type="818" id="78" > + <listitem open="1" type="813" id="73" > + <listitem open="0" type="814" id="178" /> + <listitem open="0" type="814" id="181" /> + <listitem open="0" type="814" id="184" /> + <listitem open="0" type="814" id="174" /> + <listitem open="0" type="814" id="182" /> + <listitem open="0" type="814" id="180" /> + <listitem open="0" type="814" id="176" /> + <listitem open="0" type="814" id="117" /> + <listitem open="0" type="814" id="172" /> + <listitem open="0" type="815" id="771" /> + </listitem> + <listitem open="0" type="813" id="835" > + <listitem open="0" type="815" id="836" /> + </listitem> + <listitem open="1" type="813" id="72" > + <listitem open="0" type="814" id="102" /> + <listitem open="0" type="815" id="170" /> + <listitem open="0" type="815" id="169" /> + <listitem open="0" type="815" id="114" /> + <listitem open="0" type="815" id="115" /> + </listitem> + </listitem> + <listitem open="0" type="830" id="-1" label="Datatypes" > + <listitem open="1" type="829" id="744" /> + <listitem open="1" type="829" id="770" /> + <listitem open="1" type="829" id="769" /> + <listitem open="1" type="829" id="767" /> + <listitem open="1" type="829" id="768" /> + <listitem open="1" type="829" id="422" /> + <listitem open="1" type="829" id="64" /> + <listitem open="1" type="829" id="63" /> + <listitem open="1" type="829" id="185" /> + <listitem open="1" type="829" id="66" /> + <listitem open="1" type="829" id="65" /> + <listitem open="1" type="829" id="175" /> + <listitem open="1" type="829" id="183" /> + <listitem open="1" type="829" id="61" /> + <listitem open="1" type="829" id="67" /> + <listitem open="1" type="829" id="177" /> + <listitem open="1" type="829" id="68" /> + <listitem open="1" type="829" id="69" /> + <listitem open="1" type="829" id="179" /> + <listitem open="1" type="829" id="173" /> + </listitem> + <listitem open="1" type="831" id="154" /> + <listitem open="1" type="831" id="133" /> + <listitem open="1" type="831" id="118" /> + </listitem> + <listitem open="1" type="802" id="-1" label="Use Case View" /> + <listitem open="1" type="821" id="-1" label="Component View" > + <listitem open="0" type="819" id="424" label="Overview" /> + <listitem open="1" type="822" id="426" /> + <listitem open="1" type="822" id="479" /> + <listitem open="1" type="822" id="425" /> + <listitem open="1" type="822" id="429" /> + <listitem open="1" type="822" id="428" /> + <listitem open="1" type="822" id="432" /> + </listitem> + <listitem open="1" type="827" id="-1" label="Deployment View" /> + </listitem> + </listview> + <codegeneration> + <codegenerator language="Cpp" > + <classifiercodedocument writeOutCode="true" package="" id="70" parent_class="70" fileExt=".cpp" fileName="thunarfile" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;#include "thunarfolder.h"&#010;#include "thunarfile.h"&#010;#include "thunarvfsuri.h"&#010;#include "string.h"&#010;#include "bool.h"&#010;#include "exomimeinfo.h"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks> + <codeaccessormethod accessType="0" parent_id="686" tag="hblock_tag_9" canDelete="false" classfield_id="686" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="686" tag="hblock_tag_10" canDelete="false" classfield_id="686" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="687" tag="hblock_tag_11" canDelete="false" writeOutText="false" classfield_id="687" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="687" tag="hblock_tag_12" canDelete="false" writeOutText="false" classfield_id="687" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="2" parent_id="687" tag="hblock_tag_13" canDelete="false" writeOutText="false" classfield_id="687" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="3" parent_id="687" tag="hblock_tag_14" canDelete="false" writeOutText="false" classfield_id="687" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="4" parent_id="687" tag="hblock_tag_15" canDelete="false" writeOutText="false" classfield_id="687" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeoperation parent_id="692" tag="operation_692" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeoperation> + <codeaccessormethod accessType="0" parent_id="743" tag="hblock_tag_16" canDelete="false" classfield_id="743" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="743" tag="hblock_tag_17" canDelete="false" classfield_id="743" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeoperation parent_id="745" tag="operation_745" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeoperation> + <codeoperation parent_id="746" tag="operation_746" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeoperation> + <codeoperation parent_id="747" tag="operation_747" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeoperation> + <codeoperation parent_id="748" tag="operation_748" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeoperation> + <codeoperation parent_id="749" tag="operation_749" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeoperation> + <codeaccessormethod accessType="0" parent_id="751" tag="hblock_tag_0" canDelete="false" writeOutText="false" classfield_id="751" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="751" tag="hblock_tag_18" canDelete="false" writeOutText="false" classfield_id="751" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="2" parent_id="751" tag="hblock_tag_19" canDelete="false" writeOutText="false" classfield_id="751" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="3" parent_id="751" tag="hblock_tag_20" canDelete="false" writeOutText="false" classfield_id="751" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="4" parent_id="751" tag="hblock_tag_21" canDelete="false" writeOutText="false" classfield_id="751" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="772" tag="hblock_tag_22" canDelete="false" classfield_id="772" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="772" tag="hblock_tag_23" canDelete="false" classfield_id="772" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="2" parent_id="772" tag="hblock_tag_24" canDelete="false" writeOutText="false" classfield_id="772" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="3" parent_id="772" tag="hblock_tag_25" canDelete="false" writeOutText="false" classfield_id="772" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="4" parent_id="772" tag="hblock_tag_26" canDelete="false" writeOutText="false" classfield_id="772" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarfile.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields> + <codeclassfield parent_id="686" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="686" tag="" canDelete="false" indentLevel="1" role_id="-1" text="FIX ME;" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="686" tag="hblock_tag_9" canDelete="false" classfield_id="686" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="686" tag="hblock_tag_10" canDelete="false" classfield_id="686" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="743" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="743" tag="" canDelete="false" indentLevel="1" role_id="-1" text="FIX ME;" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="743" tag="hblock_tag_16" canDelete="false" classfield_id="743" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="743" tag="hblock_tag_17" canDelete="false" classfield_id="743" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="751" field_type="3" initialValue="" role_id="1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="751" tag="" canDelete="false" writeOutText="false" indentLevel="1" role_id="1" text="FIX ME;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="751" tag="hblock_tag_0" canDelete="false" writeOutText="false" classfield_id="751" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="751" tag="hblock_tag_18" canDelete="false" writeOutText="false" classfield_id="751" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="2" parent_id="751" tag="hblock_tag_19" canDelete="false" writeOutText="false" classfield_id="751" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="3" parent_id="751" tag="hblock_tag_20" canDelete="false" writeOutText="false" classfield_id="751" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="4" parent_id="751" tag="hblock_tag_21" canDelete="false" writeOutText="false" classfield_id="751" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="687" field_type="4" initialValue="" role_id="0" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="687" tag="" canDelete="false" writeOutText="false" indentLevel="1" role_id="0" text="FIX ME;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="687" tag="hblock_tag_11" canDelete="false" writeOutText="false" classfield_id="687" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="687" tag="hblock_tag_12" canDelete="false" writeOutText="false" classfield_id="687" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="2" parent_id="687" tag="hblock_tag_13" canDelete="false" writeOutText="false" classfield_id="687" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="3" parent_id="687" tag="hblock_tag_14" canDelete="false" writeOutText="false" classfield_id="687" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="4" parent_id="687" tag="hblock_tag_15" canDelete="false" writeOutText="false" classfield_id="687" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="772" field_type="4" initialValue="" role_id="0" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="772" tag="" canDelete="false" indentLevel="1" role_id="0" text="FIX ME;" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="772" tag="hblock_tag_22" canDelete="false" classfield_id="772" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="772" tag="hblock_tag_23" canDelete="false" classfield_id="772" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="2" parent_id="772" tag="hblock_tag_24" canDelete="false" writeOutText="false" classfield_id="772" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="3" parent_id="772" tag="hblock_tag_25" canDelete="false" writeOutText="false" classfield_id="772" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="4" parent_id="772" tag="hblock_tag_26" canDelete="false" writeOutText="false" classfield_id="772" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + </codeclassfield> + </classfields> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="71" parent_class="71" fileExt=".cpp" fileName="thunarfolder" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;#include vector"&#010;#include "thunarfile.h"&#010;#include "thunarfolder.h"&#010;#include "thunarvfsuri.h"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks> + <codeaccessormethod accessType="0" parent_id="751" tag="hblock_tag_7" canDelete="false" writeOutText="false" classfield_id="751" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="751" tag="hblock_tag_8" canDelete="false" writeOutText="false" classfield_id="751" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="2" parent_id="751" tag="hblock_tag_9" canDelete="false" classfield_id="751" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="3" parent_id="751" tag="hblock_tag_10" canDelete="false" classfield_id="751" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="4" parent_id="751" tag="hblock_tag_11" canDelete="false" classfield_id="751" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeoperation parent_id="761" tag="operation_761" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeoperation> + <codeoperation parent_id="764" tag="operation_764" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeoperation> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarfolder.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields> + <codeclassfield parent_id="751" field_type="3" initialValue=" new vector( )" role_id="0" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="751" tag="" canDelete="false" indentLevel="1" role_id="0" text="FIX ME;" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="751" tag="hblock_tag_7" canDelete="false" writeOutText="false" classfield_id="751" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="751" tag="hblock_tag_8" canDelete="false" writeOutText="false" classfield_id="751" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="2" parent_id="751" tag="hblock_tag_9" canDelete="false" classfield_id="751" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="3" parent_id="751" tag="hblock_tag_10" canDelete="false" classfield_id="751" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="4" parent_id="751" tag="hblock_tag_11" canDelete="false" classfield_id="751" role_id="0" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + </codeclassfield> + </classfields> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="thunar-vfs" id="73" parent_class="73" fileExt=".cpp" fileName="thunarvfsinfo" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;#include "exomimeinfo.h"&#010;#include "string.h"&#010;#include "uid_t.h"&#010;#include "gid_t.h"&#010;#include "thunarvfsfilesize.h"&#010;#include "thunarvfsfiletime.h"&#010;#include "thunarvfsfileinode.h"&#010;#include "thunarvfsfiledevice.h"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks> + <codeaccessormethod accessType="0" parent_id="117" tag="hblock_tag_0" canDelete="false" classfield_id="117" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="117" tag="hblock_tag_1" canDelete="false" classfield_id="117" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="172" tag="hblock_tag_2" canDelete="false" classfield_id="172" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="172" tag="hblock_tag_3" canDelete="false" classfield_id="172" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="174" tag="hblock_tag_4" canDelete="false" classfield_id="174" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="174" tag="hblock_tag_5" canDelete="false" classfield_id="174" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="176" tag="hblock_tag_6" canDelete="false" classfield_id="176" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="176" tag="hblock_tag_7" canDelete="false" classfield_id="176" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="178" tag="hblock_tag_8" canDelete="false" classfield_id="178" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="178" tag="hblock_tag_9" canDelete="false" classfield_id="178" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="180" tag="hblock_tag_10" canDelete="false" classfield_id="180" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="180" tag="hblock_tag_11" canDelete="false" classfield_id="180" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="181" tag="hblock_tag_12" canDelete="false" classfield_id="181" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="181" tag="hblock_tag_13" canDelete="false" classfield_id="181" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="182" tag="hblock_tag_14" canDelete="false" classfield_id="182" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="182" tag="hblock_tag_15" canDelete="false" classfield_id="182" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="184" tag="hblock_tag_16" canDelete="false" classfield_id="184" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="184" tag="hblock_tag_17" canDelete="false" classfield_id="184" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="687" tag="hblock_tag_18" canDelete="false" writeOutText="false" classfield_id="687" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="687" tag="hblock_tag_19" canDelete="false" writeOutText="false" classfield_id="687" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="2" parent_id="687" tag="hblock_tag_20" canDelete="false" writeOutText="false" classfield_id="687" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="3" parent_id="687" tag="hblock_tag_21" canDelete="false" writeOutText="false" classfield_id="687" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="4" parent_id="687" tag="hblock_tag_22" canDelete="false" writeOutText="false" classfield_id="687" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="772" tag="hblock_tag_23" canDelete="false" writeOutText="false" classfield_id="772" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="772" tag="hblock_tag_24" canDelete="false" writeOutText="false" classfield_id="772" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="2" parent_id="772" tag="hblock_tag_25" canDelete="false" writeOutText="false" classfield_id="772" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="3" parent_id="772" tag="hblock_tag_26" canDelete="false" writeOutText="false" classfield_id="772" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="4" parent_id="772" tag="hblock_tag_27" canDelete="false" writeOutText="false" classfield_id="772" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeoperation parent_id="771" tag="operation_771" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeoperation> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarvfsinfo.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:35:19&#010;The original location of this file is thunar-vfs&#010;**************************************************************************/&#010;" /> + </header> + <classfields> + <codeclassfield parent_id="117" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="117" tag="" canDelete="false" indentLevel="1" role_id="-1" text="FIX ME;" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="117" tag="hblock_tag_0" canDelete="false" classfield_id="117" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="117" tag="hblock_tag_1" canDelete="false" classfield_id="117" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="172" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="172" tag="" canDelete="false" indentLevel="1" role_id="-1" text="FIX ME;" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="172" tag="hblock_tag_2" canDelete="false" classfield_id="172" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="172" tag="hblock_tag_3" canDelete="false" classfield_id="172" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="174" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="174" tag="" canDelete="false" indentLevel="1" role_id="-1" text="FIX ME;" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="174" tag="hblock_tag_4" canDelete="false" classfield_id="174" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="174" tag="hblock_tag_5" canDelete="false" classfield_id="174" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="176" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="176" tag="" canDelete="false" indentLevel="1" role_id="-1" text="FIX ME;" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="176" tag="hblock_tag_6" canDelete="false" classfield_id="176" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="176" tag="hblock_tag_7" canDelete="false" classfield_id="176" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="178" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="178" tag="" canDelete="false" indentLevel="1" role_id="-1" text="FIX ME;" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="178" tag="hblock_tag_8" canDelete="false" classfield_id="178" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="178" tag="hblock_tag_9" canDelete="false" classfield_id="178" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="180" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="180" tag="" canDelete="false" indentLevel="1" role_id="-1" text="FIX ME;" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="180" tag="hblock_tag_10" canDelete="false" classfield_id="180" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="180" tag="hblock_tag_11" canDelete="false" classfield_id="180" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="181" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="181" tag="" canDelete="false" indentLevel="1" role_id="-1" text="FIX ME;" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="181" tag="hblock_tag_12" canDelete="false" classfield_id="181" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="181" tag="hblock_tag_13" canDelete="false" classfield_id="181" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="182" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="182" tag="" canDelete="false" indentLevel="1" role_id="-1" text="FIX ME;" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="182" tag="hblock_tag_14" canDelete="false" classfield_id="182" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="182" tag="hblock_tag_15" canDelete="false" classfield_id="182" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="184" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="184" tag="" canDelete="false" indentLevel="1" role_id="-1" text="FIX ME;" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="184" tag="hblock_tag_16" canDelete="false" classfield_id="184" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="184" tag="hblock_tag_17" canDelete="false" classfield_id="184" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="687" field_type="4" initialValue="" role_id="1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="687" tag="" canDelete="false" writeOutText="false" indentLevel="1" role_id="1" text="FIX ME;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="687" tag="hblock_tag_18" canDelete="false" writeOutText="false" classfield_id="687" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="687" tag="hblock_tag_19" canDelete="false" writeOutText="false" classfield_id="687" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="2" parent_id="687" tag="hblock_tag_20" canDelete="false" writeOutText="false" classfield_id="687" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="3" parent_id="687" tag="hblock_tag_21" canDelete="false" writeOutText="false" classfield_id="687" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="4" parent_id="687" tag="hblock_tag_22" canDelete="false" writeOutText="false" classfield_id="687" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="772" field_type="4" initialValue="" role_id="1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="772" tag="" canDelete="false" writeOutText="false" indentLevel="1" role_id="1" text="FIX ME;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="772" tag="hblock_tag_23" canDelete="false" writeOutText="false" classfield_id="772" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="772" tag="hblock_tag_24" canDelete="false" writeOutText="false" classfield_id="772" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="2" parent_id="772" tag="hblock_tag_25" canDelete="false" writeOutText="false" classfield_id="772" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="3" parent_id="772" tag="hblock_tag_26" canDelete="false" writeOutText="false" classfield_id="772" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="4" parent_id="772" tag="hblock_tag_27" canDelete="false" writeOutText="false" classfield_id="772" role_id="1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + </codeclassfield> + </classfields> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="thunar-vfs" id="72" parent_class="72" fileExt=".cpp" fileName="thunarvfsuri" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;#include "thunarvfsuri.h"&#010;#include "string.h"&#010;#include "int.h"&#010;#include "bool.h"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks> + <codeaccessormethod accessType="0" parent_id="102" tag="hblock_tag_0" canDelete="false" classfield_id="102" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="102" tag="hblock_tag_1" canDelete="false" classfield_id="102" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeoperation parent_id="114" tag="operation_114" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeoperation> + <codeoperation parent_id="115" tag="operation_115" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeoperation> + <codeoperation parent_id="169" tag="operation_169" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeoperation> + <codeoperation parent_id="170" tag="operation_170" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeoperation> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarvfsuri.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is thunar-vfs&#010;**************************************************************************/&#010;" /> + </header> + <classfields> + <codeclassfield parent_id="102" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="102" tag="" canDelete="false" indentLevel="1" role_id="-1" text="FIX ME;" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="102" tag="hblock_tag_0" canDelete="false" classfield_id="102" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="102" tag="hblock_tag_1" canDelete="false" classfield_id="102" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + </codeclassfield> + </classfields> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="85" parent_class="85" fileExt=".cpp" fileName="thunardesktopfile" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunardesktopfile.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="87" parent_class="87" fileExt=".cpp" fileName="thunartrashedfile" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunartrashedfile.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="89" parent_class="89" fileExt=".cpp" fileName="thunartrashfolder" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunartrashfolder.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="118" parent_class="118" fileExt=".cpp" fileName="thunarvfsfiletype" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarvfsfiletype.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="133" parent_class="133" fileExt=".cpp" fileName="thunarvfsfilemode" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarvfsfilemode.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="154" parent_class="154" fileExt=".cpp" fileName="thunarvfsfileflags" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarvfsfileflags.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="exo" id="163" parent_class="163" fileExt=".cpp" fileName="exomimeinfo" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; exomimeinfo.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is exo&#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="195" parent_class="195" fileExt=".cpp" fileName="thunarlistmodel" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarlistmodel.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="gobject" id="186" parent_class="186" fileExt=".cpp" fileName="gsignal" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; gsignal.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is gobject&#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="gobject" id="267" parent_class="267" fileExt=".cpp" fileName="gobject" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; gobject.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is gobject&#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="gtk" id="196" parent_class="196" fileExt=".cpp" fileName="gtktreemodel" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; gtktreemodel.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is gtk&#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="gtk" id="226" parent_class="226" fileExt=".cpp" fileName="gtktreeview" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; gtktreeview.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is gtk&#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="202" parent_class="202" fileExt=".cpp" fileName="thunartreemodel" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunartreemodel.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="214" parent_class="214" fileExt=".cpp" fileName="thunarview" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarview.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="220" parent_class="220" fileExt=".cpp" fileName="thunarlistview" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarlistview.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="221" parent_class="221" fileExt=".cpp" fileName="thunariconview" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunariconview.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="224" parent_class="224" fileExt=".cpp" fileName="thunartreeview" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunartreeview.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="234" parent_class="234" fileExt=".cpp" fileName="thunarwindow" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarwindow.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="240" parent_class="240" fileExt=".cpp" fileName="thunarstatusbar" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarstatusbar.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="251" parent_class="251" fileExt=".cpp" fileName="thunarapplication" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarapplication.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="257" parent_class="257" fileExt=".cpp" fileName="thunardesktopview" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunardesktopview.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="264" parent_class="264" fileExt=".cpp" fileName="thunarpreferences" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;#include "bool.h"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks> + <codeaccessormethod accessType="0" parent_id="265" tag="hblock_tag_0" canDelete="false" classfield_id="265" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="265" tag="hblock_tag_1" canDelete="false" classfield_id="265" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarpreferences.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields> + <codeclassfield parent_id="265" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="265" tag="" canDelete="false" indentLevel="1" role_id="-1" text="FIX ME;" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="265" tag="hblock_tag_0" canDelete="false" classfield_id="265" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="265" tag="hblock_tag_1" canDelete="false" classfield_id="265" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + </codeclassfield> + </classfields> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="269" parent_class="269" fileExt=".cpp" fileName="thunarpreferencesdialog" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;#include "thunarpreferencesdialog.h"&#010;#include "thunarwindow.h"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks> + <codeoperation parent_id="270" tag="operation_270" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeoperation> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarpreferencesdialog.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="279" parent_class="279" fileExt=".cpp" fileName="thunardesktopmodel" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunardesktopmodel.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="327" parent_class="327" fileExt=".cpp" fileName="thunarsidepane" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;#include "thunarvfsuri.h"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks> + <codeaccessormethod accessType="0" parent_id="421" tag="hblock_tag_0" canDelete="false" classfield_id="421" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="421" tag="hblock_tag_1" canDelete="false" classfield_id="421" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarsidepane.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields> + <codeclassfield parent_id="421" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="421" tag="" canDelete="false" indentLevel="1" role_id="-1" text="FIX ME;" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="421" tag="hblock_tag_0" canDelete="false" classfield_id="421" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="421" tag="hblock_tag_1" canDelete="false" classfield_id="421" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeaccessormethod> + </codeclassfield> + </classfields> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="334" parent_class="334" fileExt=".cpp" fileName="thunartreepane" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunartreepane.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="335" parent_class="335" fileExt=".cpp" fileName="thunarfavouritespane" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarfavouritespane.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="336" parent_class="336" fileExt=".cpp" fileName="thunarfavouritesview" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarfavouritesview.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="343" parent_class="343" fileExt=".cpp" fileName="thunarfavouritesmodel" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarfavouritesmodel.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="535" parent_class="535" fileExt=".cpp" fileName="thunarmimeaction" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarmimeaction.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <codedocument writeOutCode="false" package="" id="Makefile_DOC" fileExt="" fileName="Makefile" > + <textblocks/> + <header> + <codecomment tag="" /> + </header> + </codedocument> + <classifiercodedocument writeOutCode="true" package="thunar-vfs" id="835" parent_class="835" fileExt=".cpp" fileName="thunarvfsmonitor" > + <textblocks> + <codeblockwithcomments tag="includes" text="#include "string"&#010;#include "thunarvfsmonitor.h"&#010;#include "thunarvfsuri.h"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="constructionMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Constructors/Destructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="otherMethodsBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Methods" /> + </header> + <textblocks> + <codeoperation parent_id="836" tag="operation_836" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" /> + </header> + </codeoperation> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarvfsmonitor.cpp - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.cpp&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:36:38&#010;The original location of this file is thunar-vfs&#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader70" parent_class="70" fileExt=".h" fileName="thunarfile" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARFILE_H&#010;#define THUNARFILE_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;#include "thunarfolder.h"&#010;#include "thunarvfsuri.h"&#010;#include "string.h"&#010;#include "bool.h"&#010;#include "exomimeinfo.h"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="70" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarFile&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks> + <ccfdeclarationcodeblock parent_id="751" tag="tblock_0" canDelete="false" writeOutText="false" indentLevel="1" role_id="1" text=" ThunarFolder ;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <ccfdeclarationcodeblock parent_id="687" tag="tblock_14" canDelete="false" writeOutText="false" indentLevel="1" role_id="0" text=" ThunarVfsInfo ;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarFile ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks> + <codeaccessormethod accessType="0" parent_id="751" tag="hblock_tag_0" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="751" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="751" tag="hblock_tag_22" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="751" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="2" parent_id="751" tag="hblock_tag_23" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="751" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="3" parent_id="751" tag="hblock_tag_24" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="751" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="4" parent_id="751" tag="hblock_tag_25" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="751" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="687" tag="hblock_tag_15" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="687" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="687" tag="hblock_tag_16" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="687" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="2" parent_id="687" tag="hblock_tag_17" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="687" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="3" parent_id="687" tag="hblock_tag_18" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="687" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="4" parent_id="687" tag="hblock_tag_19" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="687" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks> + <codeoperation parent_id="692" tag="operation_692" canDelete="false" indentLevel="1" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="&#010;@param uri &#010;@param error " /> + </header> + </codeoperation> + <codeoperation parent_id="745" tag="operation_745" canDelete="false" indentLevel="1" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeoperation> + <codeoperation parent_id="746" tag="operation_746" canDelete="false" indentLevel="1" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeoperation> + <codeoperation parent_id="747" tag="operation_747" canDelete="false" indentLevel="1" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeoperation> + <codeoperation parent_id="748" tag="operation_748" canDelete="false" indentLevel="1" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeoperation> + <codeoperation parent_id="749" tag="operation_749" canDelete="false" indentLevel="1" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeoperation> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks> + <ccfdeclarationcodeblock parent_id="686" tag="tblock_11" canDelete="false" indentLevel="1" role_id="-1" text=" string display_name;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <ccfdeclarationcodeblock parent_id="743" tag="tblock_15" canDelete="false" indentLevel="1" role_id="-1" text=" ExoMimeInfo mime_info;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <ccfdeclarationcodeblock parent_id="772" tag="tblock_32" canDelete="false" indentLevel="1" role_id="0" text=" ThunarVfsInfo info;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks> + <codeaccessormethod accessType="0" parent_id="686" tag="hblock_tag_12" canDelete="false" indentLevel="1" classfield_id="686" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="686" tag="hblock_tag_13" canDelete="false" indentLevel="1" classfield_id="686" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="743" tag="hblock_tag_20" canDelete="false" indentLevel="1" classfield_id="743" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="743" tag="hblock_tag_21" canDelete="false" indentLevel="1" classfield_id="743" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="772" tag="hblock_tag_33" canDelete="false" indentLevel="1" classfield_id="772" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="772" tag="hblock_tag_34" canDelete="false" indentLevel="1" classfield_id="772" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="2" parent_id="772" tag="hblock_tag_35" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="772" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="3" parent_id="772" tag="hblock_tag_36" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="772" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="4" parent_id="772" tag="hblock_tag_37" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="772" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARFILE_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarfile.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields> + <codeclassfield parent_id="686" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="686" tag="tblock_11" canDelete="false" indentLevel="1" role_id="-1" text=" string display_name;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="686" tag="hblock_tag_12" canDelete="false" indentLevel="1" classfield_id="686" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="686" tag="hblock_tag_13" canDelete="false" indentLevel="1" classfield_id="686" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="743" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="743" tag="tblock_15" canDelete="false" indentLevel="1" role_id="-1" text=" ExoMimeInfo mime_info;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="743" tag="hblock_tag_20" canDelete="false" indentLevel="1" classfield_id="743" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="743" tag="hblock_tag_21" canDelete="false" indentLevel="1" classfield_id="743" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="751" field_type="3" initialValue="" role_id="1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="751" tag="tblock_0" canDelete="false" writeOutText="false" indentLevel="1" role_id="1" text=" ThunarFolder ;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="751" tag="hblock_tag_0" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="751" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="751" tag="hblock_tag_22" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="751" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="2" parent_id="751" tag="hblock_tag_23" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="751" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="3" parent_id="751" tag="hblock_tag_24" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="751" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="4" parent_id="751" tag="hblock_tag_25" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="751" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="687" field_type="4" initialValue="" role_id="0" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="687" tag="tblock_14" canDelete="false" writeOutText="false" indentLevel="1" role_id="0" text=" ThunarVfsInfo ;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="687" tag="hblock_tag_15" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="687" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="687" tag="hblock_tag_16" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="687" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="2" parent_id="687" tag="hblock_tag_17" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="687" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="3" parent_id="687" tag="hblock_tag_18" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="687" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="4" parent_id="687" tag="hblock_tag_19" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="687" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="772" field_type="4" initialValue="" role_id="0" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="772" tag="tblock_32" canDelete="false" indentLevel="1" role_id="0" text=" ThunarVfsInfo info;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="772" tag="hblock_tag_33" canDelete="false" indentLevel="1" classfield_id="772" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="772" tag="hblock_tag_34" canDelete="false" indentLevel="1" classfield_id="772" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="2" parent_id="772" tag="hblock_tag_35" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="772" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="3" parent_id="772" tag="hblock_tag_36" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="772" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="4" parent_id="772" tag="hblock_tag_37" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="772" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </codeclassfield> + </classfields> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader71" parent_class="71" fileExt=".h" fileName="thunarfolder" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARFOLDER_H&#010;#define THUNARFOLDER_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;#include <vector>&#010;#include "thunarfile.h"&#010;#include "thunarvfsuri.h"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="71" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarFolder&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarFolder ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks> + <codeoperation parent_id="761" tag="operation_761" canDelete="false" indentLevel="1" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="&#010;@param file &#010;@param error " /> + </header> + </codeoperation> + <codeoperation parent_id="764" tag="operation_764" canDelete="false" indentLevel="1" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="&#010;@param uri &#010;@param error " /> + </header> + </codeoperation> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks> + <ccfdeclarationcodeblock parent_id="751" tag="tblock_0" canDelete="false" indentLevel="1" role_id="0" text=" vector filesVector;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks> + <codeaccessormethod accessType="0" parent_id="751" tag="hblock_tag_0" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="751" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="751" tag="hblock_tag_8" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="751" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="2" parent_id="751" tag="hblock_tag_9" canDelete="false" indentLevel="1" classfield_id="751" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="3" parent_id="751" tag="hblock_tag_10" canDelete="false" indentLevel="1" classfield_id="751" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="4" parent_id="751" tag="hblock_tag_11" canDelete="false" indentLevel="1" classfield_id="751" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARFOLDER_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarfolder.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields> + <codeclassfield parent_id="751" field_type="3" initialValue=" new vector( )" role_id="0" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="751" tag="tblock_0" canDelete="false" indentLevel="1" role_id="0" text=" vector filesVector;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="751" tag="hblock_tag_0" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="751" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="751" tag="hblock_tag_8" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="751" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="2" parent_id="751" tag="hblock_tag_9" canDelete="false" indentLevel="1" classfield_id="751" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="3" parent_id="751" tag="hblock_tag_10" canDelete="false" indentLevel="1" classfield_id="751" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="4" parent_id="751" tag="hblock_tag_11" canDelete="false" indentLevel="1" classfield_id="751" role_id="0" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </codeclassfield> + </classfields> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="thunar-vfs" id="cppheader73" parent_class="73" fileExt=".h" fileName="thunarvfsinfo" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARVFSINFO_H&#010;#define THUNARVFSINFO_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;#include "exomimeinfo.h"&#010;#include "string.h"&#010;#include "uid_t.h"&#010;#include "gid_t.h"&#010;#include "thunarvfsfilesize.h"&#010;#include "thunarvfsfiletime.h"&#010;#include "thunarvfsfileinode.h"&#010;#include "thunarvfsfiledevice.h"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="73" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarVfsInfo&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks> + <ccfdeclarationcodeblock parent_id="117" tag="tblock_0" canDelete="false" indentLevel="1" role_id="-1" text=" string target;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <ccfdeclarationcodeblock parent_id="172" tag="tblock_1" canDelete="false" indentLevel="1" role_id="-1" text=" uid_t uid;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <ccfdeclarationcodeblock parent_id="174" tag="tblock_2" canDelete="false" indentLevel="1" role_id="-1" text=" gid_t gid;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <ccfdeclarationcodeblock parent_id="176" tag="tblock_3" canDelete="false" indentLevel="1" role_id="-1" text=" ThunarVfsFileSize size;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <ccfdeclarationcodeblock parent_id="178" tag="tblock_4" canDelete="false" indentLevel="1" role_id="-1" text=" ThunarVfsFileTime atime;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <ccfdeclarationcodeblock parent_id="180" tag="tblock_5" canDelete="false" indentLevel="1" role_id="-1" text=" ThunarVfsFileTime mtime;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <ccfdeclarationcodeblock parent_id="181" tag="tblock_6" canDelete="false" indentLevel="1" role_id="-1" text=" ThunarVfsFileTime ctime;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <ccfdeclarationcodeblock parent_id="182" tag="tblock_7" canDelete="false" indentLevel="1" role_id="-1" text=" ThunarVfsFileInode inode;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <ccfdeclarationcodeblock parent_id="184" tag="tblock_8" canDelete="false" indentLevel="1" role_id="-1" text=" ThunarVfsFileDevice device;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <ccfdeclarationcodeblock parent_id="687" tag="tblock_26" canDelete="false" writeOutText="false" indentLevel="1" role_id="1" text=" ThunarFile ;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <ccfdeclarationcodeblock parent_id="772" tag="tblock_32" canDelete="false" writeOutText="false" indentLevel="1" role_id="1" text=" ThunarFile ;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarVfsInfo ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks> + <codeaccessormethod accessType="0" parent_id="117" tag="hblock_tag_0" canDelete="false" indentLevel="1" classfield_id="117" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="117" tag="hblock_tag_9" canDelete="false" indentLevel="1" classfield_id="117" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="172" tag="hblock_tag_10" canDelete="false" indentLevel="1" classfield_id="172" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="172" tag="hblock_tag_11" canDelete="false" indentLevel="1" classfield_id="172" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="174" tag="hblock_tag_12" canDelete="false" indentLevel="1" classfield_id="174" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="174" tag="hblock_tag_13" canDelete="false" indentLevel="1" classfield_id="174" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="176" tag="hblock_tag_14" canDelete="false" indentLevel="1" classfield_id="176" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="176" tag="hblock_tag_15" canDelete="false" indentLevel="1" classfield_id="176" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="178" tag="hblock_tag_16" canDelete="false" indentLevel="1" classfield_id="178" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="178" tag="hblock_tag_17" canDelete="false" indentLevel="1" classfield_id="178" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="180" tag="hblock_tag_18" canDelete="false" indentLevel="1" classfield_id="180" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="180" tag="hblock_tag_19" canDelete="false" indentLevel="1" classfield_id="180" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="181" tag="hblock_tag_20" canDelete="false" indentLevel="1" classfield_id="181" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="181" tag="hblock_tag_21" canDelete="false" indentLevel="1" classfield_id="181" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="182" tag="hblock_tag_22" canDelete="false" indentLevel="1" classfield_id="182" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="182" tag="hblock_tag_23" canDelete="false" indentLevel="1" classfield_id="182" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="184" tag="hblock_tag_24" canDelete="false" indentLevel="1" classfield_id="184" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="184" tag="hblock_tag_25" canDelete="false" indentLevel="1" classfield_id="184" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="687" tag="hblock_tag_27" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="687" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="687" tag="hblock_tag_28" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="687" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="2" parent_id="687" tag="hblock_tag_29" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="687" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="3" parent_id="687" tag="hblock_tag_30" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="687" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="4" parent_id="687" tag="hblock_tag_31" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="687" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="0" parent_id="772" tag="hblock_tag_33" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="772" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="772" tag="hblock_tag_34" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="772" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="2" parent_id="772" tag="hblock_tag_35" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="772" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="3" parent_id="772" tag="hblock_tag_36" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="772" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="4" parent_id="772" tag="hblock_tag_37" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="772" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks> + <codeoperation parent_id="771" tag="operation_771" canDelete="false" indentLevel="1" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeoperation> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARVFSINFO_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarvfsinfo.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:35:19&#010;The original location of this file is thunar-vfs&#010;**************************************************************************/&#010;" /> + </header> + <classfields> + <codeclassfield parent_id="117" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="117" tag="tblock_0" canDelete="false" indentLevel="1" role_id="-1" text=" string target;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="117" tag="hblock_tag_0" canDelete="false" indentLevel="1" classfield_id="117" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="117" tag="hblock_tag_9" canDelete="false" indentLevel="1" classfield_id="117" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="172" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="172" tag="tblock_1" canDelete="false" indentLevel="1" role_id="-1" text=" uid_t uid;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="172" tag="hblock_tag_10" canDelete="false" indentLevel="1" classfield_id="172" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="172" tag="hblock_tag_11" canDelete="false" indentLevel="1" classfield_id="172" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="174" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="174" tag="tblock_2" canDelete="false" indentLevel="1" role_id="-1" text=" gid_t gid;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="174" tag="hblock_tag_12" canDelete="false" indentLevel="1" classfield_id="174" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="174" tag="hblock_tag_13" canDelete="false" indentLevel="1" classfield_id="174" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="176" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="176" tag="tblock_3" canDelete="false" indentLevel="1" role_id="-1" text=" ThunarVfsFileSize size;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="176" tag="hblock_tag_14" canDelete="false" indentLevel="1" classfield_id="176" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="176" tag="hblock_tag_15" canDelete="false" indentLevel="1" classfield_id="176" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="178" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="178" tag="tblock_4" canDelete="false" indentLevel="1" role_id="-1" text=" ThunarVfsFileTime atime;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="178" tag="hblock_tag_16" canDelete="false" indentLevel="1" classfield_id="178" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="178" tag="hblock_tag_17" canDelete="false" indentLevel="1" classfield_id="178" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="180" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="180" tag="tblock_5" canDelete="false" indentLevel="1" role_id="-1" text=" ThunarVfsFileTime mtime;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="180" tag="hblock_tag_18" canDelete="false" indentLevel="1" classfield_id="180" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="180" tag="hblock_tag_19" canDelete="false" indentLevel="1" classfield_id="180" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="181" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="181" tag="tblock_6" canDelete="false" indentLevel="1" role_id="-1" text=" ThunarVfsFileTime ctime;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="181" tag="hblock_tag_20" canDelete="false" indentLevel="1" classfield_id="181" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="181" tag="hblock_tag_21" canDelete="false" indentLevel="1" classfield_id="181" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="182" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="182" tag="tblock_7" canDelete="false" indentLevel="1" role_id="-1" text=" ThunarVfsFileInode inode;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="182" tag="hblock_tag_22" canDelete="false" indentLevel="1" classfield_id="182" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="182" tag="hblock_tag_23" canDelete="false" indentLevel="1" classfield_id="182" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="184" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="184" tag="tblock_8" canDelete="false" indentLevel="1" role_id="-1" text=" ThunarVfsFileDevice device;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="184" tag="hblock_tag_24" canDelete="false" indentLevel="1" classfield_id="184" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="184" tag="hblock_tag_25" canDelete="false" indentLevel="1" classfield_id="184" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="687" field_type="4" initialValue="" role_id="1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="687" tag="tblock_26" canDelete="false" writeOutText="false" indentLevel="1" role_id="1" text=" ThunarFile ;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="687" tag="hblock_tag_27" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="687" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="687" tag="hblock_tag_28" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="687" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="2" parent_id="687" tag="hblock_tag_29" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="687" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="3" parent_id="687" tag="hblock_tag_30" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="687" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="4" parent_id="687" tag="hblock_tag_31" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="687" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </codeclassfield> + <codeclassfield parent_id="772" field_type="4" initialValue="" role_id="1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="772" tag="tblock_32" canDelete="false" writeOutText="false" indentLevel="1" role_id="1" text=" ThunarFile ;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="772" tag="hblock_tag_33" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="772" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="772" tag="hblock_tag_34" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="772" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="2" parent_id="772" tag="hblock_tag_35" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="772" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="3" parent_id="772" tag="hblock_tag_36" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="772" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="4" parent_id="772" tag="hblock_tag_37" canDelete="false" writeOutText="false" indentLevel="1" classfield_id="772" role_id="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </codeclassfield> + </classfields> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="thunar-vfs" id="cppheader72" parent_class="72" fileExt=".h" fileName="thunarvfsuri" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARVFSURI_H&#010;#define THUNARVFSURI_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;#include "thunarvfsuri.h"&#010;#include "string.h"&#010;#include "int.h"&#010;#include "bool.h"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" text="using thunar-vfs::ThunarVfsURI;&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="72" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarVfsURI&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarVfsURI ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks> + <codeoperation parent_id="114" tag="operation_114" canDelete="false" indentLevel="1" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeoperation> + <codeoperation parent_id="115" tag="operation_115" canDelete="false" indentLevel="1" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="&#010;@param name " /> + </header> + </codeoperation> + <codeoperation parent_id="169" tag="operation_169" canDelete="false" indentLevel="1" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeoperation> + <codeoperation parent_id="170" tag="operation_170" canDelete="false" indentLevel="1" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="&#010;@param uri " /> + </header> + </codeoperation> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks> + <ccfdeclarationcodeblock parent_id="102" tag="tblock_0" canDelete="false" indentLevel="1" role_id="-1" text=" string path;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks> + <codeaccessormethod accessType="0" parent_id="102" tag="hblock_tag_0" canDelete="false" indentLevel="1" classfield_id="102" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="102" tag="hblock_tag_1" canDelete="false" indentLevel="1" classfield_id="102" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARVFSURI_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarvfsuri.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is thunar-vfs&#010;**************************************************************************/&#010;" /> + </header> + <classfields> + <codeclassfield parent_id="102" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="102" tag="tblock_0" canDelete="false" indentLevel="1" role_id="-1" text=" string path;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="102" tag="hblock_tag_0" canDelete="false" indentLevel="1" classfield_id="102" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="102" tag="hblock_tag_1" canDelete="false" indentLevel="1" classfield_id="102" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </codeclassfield> + </classfields> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader85" parent_class="85" fileExt=".h" fileName="thunardesktopfile" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARDESKTOPFILE_H&#010;#define THUNARDESKTOPFILE_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="85" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarDesktopFile&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarDesktopFile ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARDESKTOPFILE_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunardesktopfile.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader87" parent_class="87" fileExt=".h" fileName="thunartrashedfile" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARTRASHEDFILE_H&#010;#define THUNARTRASHEDFILE_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="87" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarTrashedFile&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarTrashedFile ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARTRASHEDFILE_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunartrashedfile.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader89" parent_class="89" fileExt=".h" fileName="thunartrashfolder" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARTRASHFOLDER_H&#010;#define THUNARTRASHFOLDER_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="89" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarTrashFolder&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarTrashFolder ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARTRASHFOLDER_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunartrashfolder.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader118" parent_class="118" fileExt=".h" fileName="thunarvfsfiletype" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARVFSFILETYPE_H&#010;#define THUNARVFSFILETYPE_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="118" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarVfsFileType&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarVfsFileType ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARVFSFILETYPE_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarvfsfiletype.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader133" parent_class="133" fileExt=".h" fileName="thunarvfsfilemode" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARVFSFILEMODE_H&#010;#define THUNARVFSFILEMODE_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="133" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarVfsFileMode&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarVfsFileMode ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARVFSFILEMODE_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarvfsfilemode.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader154" parent_class="154" fileExt=".h" fileName="thunarvfsfileflags" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARVFSFILEFLAGS_H&#010;#define THUNARVFSFILEFLAGS_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="154" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarVfsFileFlags&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarVfsFileFlags ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARVFSFILEFLAGS_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarvfsfileflags.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="exo" id="cppheader163" parent_class="163" fileExt=".h" fileName="exomimeinfo" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef EXOMIMEINFO_H&#010;#define EXOMIMEINFO_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="163" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ExoMimeInfo&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ExoMimeInfo ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //EXOMIMEINFO_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; exomimeinfo.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is exo&#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader195" parent_class="195" fileExt=".h" fileName="thunarlistmodel" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARLISTMODEL_H&#010;#define THUNARLISTMODEL_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" text="using ::ThunarListModel;&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="195" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarListModel&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarListModel ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARLISTMODEL_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarlistmodel.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="gobject" id="cppheader186" parent_class="186" fileExt=".h" fileName="gsignal" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef GSIGNAL_H&#010;#define GSIGNAL_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="186" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class GSignal&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="GSignal ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //GSIGNAL_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; gsignal.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is gobject&#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="gobject" id="cppheader267" parent_class="267" fileExt=".h" fileName="gobject" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef GOBJECT_H&#010;#define GOBJECT_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="267" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class GObject&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="GObject ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //GOBJECT_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; gobject.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is gobject&#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="gtk" id="cppheader196" parent_class="196" fileExt=".h" fileName="gtktreemodel" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef GTKTREEMODEL_H&#010;#define GTKTREEMODEL_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <cppheaderclassdeclarationblock parent_id="196" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Interface GtkTreeModel&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="GtkTreeModel ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //GTKTREEMODEL_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; gtktreemodel.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is gtk&#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="gtk" id="cppheader226" parent_class="226" fileExt=".h" fileName="gtktreeview" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef GTKTREEVIEW_H&#010;#define GTKTREEVIEW_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="226" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class GtkTreeView&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="GtkTreeView ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //GTKTREEVIEW_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; gtktreeview.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is gtk&#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader202" parent_class="202" fileExt=".h" fileName="thunartreemodel" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARTREEMODEL_H&#010;#define THUNARTREEMODEL_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" text="using ::ThunarTreeModel;&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="202" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarTreeModel&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarTreeModel ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARTREEMODEL_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunartreemodel.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader214" parent_class="214" fileExt=".h" fileName="thunarview" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARVIEW_H&#010;#define THUNARVIEW_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <cppheaderclassdeclarationblock parent_id="214" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Interface ThunarView&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarView ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARVIEW_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarview.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader220" parent_class="220" fileExt=".h" fileName="thunarlistview" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARLISTVIEW_H&#010;#define THUNARLISTVIEW_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="220" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarListView&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarListView ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARLISTVIEW_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarlistview.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader221" parent_class="221" fileExt=".h" fileName="thunariconview" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARICONVIEW_H&#010;#define THUNARICONVIEW_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="221" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarIconView&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarIconView ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARICONVIEW_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunariconview.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader224" parent_class="224" fileExt=".h" fileName="thunartreeview" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARTREEVIEW_H&#010;#define THUNARTREEVIEW_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" text="using ::ThunarTreeView;&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="224" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarTreeView&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarTreeView ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARTREEVIEW_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunartreeview.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader234" parent_class="234" fileExt=".h" fileName="thunarwindow" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARWINDOW_H&#010;#define THUNARWINDOW_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="234" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarWindow&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarWindow ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARWINDOW_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarwindow.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader240" parent_class="240" fileExt=".h" fileName="thunarstatusbar" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARSTATUSBAR_H&#010;#define THUNARSTATUSBAR_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="240" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarStatusBar&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarStatusBar ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARSTATUSBAR_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarstatusbar.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader251" parent_class="251" fileExt=".h" fileName="thunarapplication" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARAPPLICATION_H&#010;#define THUNARAPPLICATION_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="251" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarApplication&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarApplication ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARAPPLICATION_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarapplication.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader257" parent_class="257" fileExt=".h" fileName="thunardesktopview" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARDESKTOPVIEW_H&#010;#define THUNARDESKTOPVIEW_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="257" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarDesktopView&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarDesktopView ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARDESKTOPVIEW_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunardesktopview.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader264" parent_class="264" fileExt=".h" fileName="thunarpreferences" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARPREFERENCES_H&#010;#define THUNARPREFERENCES_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;#include "bool.h"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" text="using ::ThunarPreferences;&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="264" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarPreferences&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarPreferences ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks> + <ccfdeclarationcodeblock parent_id="265" tag="tblock_0" canDelete="false" indentLevel="1" role_id="-1" text=" bool manage-desktop;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks> + <codeaccessormethod accessType="0" parent_id="265" tag="hblock_tag_0" canDelete="false" indentLevel="1" classfield_id="265" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="265" tag="hblock_tag_1" canDelete="false" indentLevel="1" classfield_id="265" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARPREFERENCES_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarpreferences.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields> + <codeclassfield parent_id="265" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="265" tag="tblock_0" canDelete="false" indentLevel="1" role_id="-1" text=" bool manage-desktop;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="265" tag="hblock_tag_0" canDelete="false" indentLevel="1" classfield_id="265" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="265" tag="hblock_tag_1" canDelete="false" indentLevel="1" classfield_id="265" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </codeclassfield> + </classfields> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader269" parent_class="269" fileExt=".h" fileName="thunarpreferencesdialog" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARPREFERENCESDIALOG_H&#010;#define THUNARPREFERENCESDIALOG_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;#include "thunarwindow.h"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="269" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarPreferencesDialog&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarPreferencesDialog ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks> + <codeoperation parent_id="270" tag="operation_270" canDelete="false" indentLevel="1" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="&#010;@param window " /> + </header> + </codeoperation> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARPREFERENCESDIALOG_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarpreferencesdialog.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader279" parent_class="279" fileExt=".h" fileName="thunardesktopmodel" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARDESKTOPMODEL_H&#010;#define THUNARDESKTOPMODEL_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="279" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarDesktopModel&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarDesktopModel ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARDESKTOPMODEL_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunardesktopmodel.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader327" parent_class="327" fileExt=".h" fileName="thunarsidepane" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARSIDEPANE_H&#010;#define THUNARSIDEPANE_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;#include "thunarvfsuri.h"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="327" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="******************************* Abstract Class ****************************&#010;ThunarSidePane does not have any pure virtual methods, but its author&#010; defined it as an abstract class, so you should not use it directly.&#010; Inherit from it instead and create only objects from the derived classes&#010;*****************************************************************************" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks> + <ccfdeclarationcodeblock parent_id="421" tag="tblock_0" canDelete="false" indentLevel="1" role_id="-1" text=" ThunarVfsURI uri;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarSidePane ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks> + <codeaccessormethod accessType="0" parent_id="421" tag="hblock_tag_0" canDelete="false" indentLevel="1" classfield_id="421" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="421" tag="hblock_tag_1" canDelete="false" indentLevel="1" classfield_id="421" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARSIDEPANE_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarsidepane.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields> + <codeclassfield parent_id="421" field_type="0" initialValue="" role_id="-1" writeOutMethods="true" listClassName="" > + <header> + <cppcodedocumentation tag="" /> + </header> + <ccfdeclarationcodeblock parent_id="421" tag="tblock_0" canDelete="false" indentLevel="1" role_id="-1" text=" ThunarVfsURI uri;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + </ccfdeclarationcodeblock> + <codeaccessormethod accessType="0" parent_id="421" tag="hblock_tag_0" canDelete="false" indentLevel="1" classfield_id="421" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + <codeaccessormethod accessType="1" parent_id="421" tag="hblock_tag_1" canDelete="false" indentLevel="1" classfield_id="421" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + </codeaccessormethod> + </codeclassfield> + </classfields> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader334" parent_class="334" fileExt=".h" fileName="thunartreepane" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARTREEPANE_H&#010;#define THUNARTREEPANE_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="334" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarTreePane&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarTreePane ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARTREEPANE_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunartreepane.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader335" parent_class="335" fileExt=".h" fileName="thunarfavouritespane" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARFAVOURITESPANE_H&#010;#define THUNARFAVOURITESPANE_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="335" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarFavouritesPane&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarFavouritesPane ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARFAVOURITESPANE_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarfavouritespane.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader336" parent_class="336" fileExt=".h" fileName="thunarfavouritesview" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARFAVOURITESVIEW_H&#010;#define THUNARFAVOURITESVIEW_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" text="using ::ThunarFavouritesView;&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="336" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarFavouritesView&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarFavouritesView ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARFAVOURITESVIEW_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarfavouritesview.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader343" parent_class="343" fileExt=".h" fileName="thunarfavouritesmodel" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARFAVOURITESMODEL_H&#010;#define THUNARFAVOURITESMODEL_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" text="using ::ThunarFavouritesModel;&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="343" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarFavouritesModel&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarFavouritesModel ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARFAVOURITESMODEL_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarfavouritesmodel.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="" id="cppheader535" parent_class="535" fileExt=".h" fileName="thunarmimeaction" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARMIMEACTION_H&#010;#define THUNARMIMEACTION_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="535" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarMimeAction&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarMimeAction ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARMIMEACTION_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarmimeaction.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:33:52&#010;The original location of this file is &#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + <classifiercodedocument writeOutCode="true" package="thunar-vfs" id="cppheader835" parent_class="835" fileExt=".h" fileName="thunarvfsmonitor" > + <textblocks> + <codeblockwithcomments tag="hashDefBlock" text="#ifndef THUNARVFSMONITOR_H&#010;#define THUNARVFSMONITOR_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="includes" text="#include <string>&#010;#include "thunarvfsuri.h"&#010;" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <codeblockwithcomments tag="using" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <hierarchicalcodeblock tag="namespace" canDelete="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" text="Namespace" /> + </header> + <textblocks> + <codeblockwithcomments tag="enums" writeOutText="false" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + <cppheaderclassdeclarationblock parent_id="835" tag="classDeclarationBlock" canDelete="false" role_id="-1" > + <header> + <cppcodedocumentation tag="" text="Class ThunarVfsMonitor&#010;" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Public stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="publicFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks> + <codeblockwithcomments tag="emptyconstructor" writeOutText="false" indentLevel="1" text="ThunarVfsMonitor ( ) { }" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Empty Constructor" /> + </header> + </codeblockwithcomments> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="pubStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="pubRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks> + <codeoperation parent_id="836" tag="operation_836" canDelete="false" indentLevel="1" role_id="-1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="&#010;@param uri " /> + </header> + </codeoperation> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protectedBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Protected stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protectedFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="protStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="protRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privateBlock" canDelete="false" > + <header> + <cppcodedocumentation tag="" text="Private stuff" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privateFieldsDecl" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Fields" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privMethodsBlock" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="constructionMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Constructors" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="accessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Accessor Methods" /> + </header> + <textblocks> + <hierarchicalcodeblock tag="privStaticAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="privRegularAccessorMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" writeOutText="false" indentLevel="1" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + <hierarchicalcodeblock tag="operationMethods" canDelete="false" indentLevel="1" > + <header> + <cppcodedocumentation tag="" indentLevel="1" text="Operations" /> + </header> + <textblocks/> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </hierarchicalcodeblock> + </textblocks> + </cppheaderclassdeclarationblock> + </textblocks> + </hierarchicalcodeblock> + <codeblockwithcomments tag="hashDefBlockEnd" text="#endif //THUNARVFSMONITOR_H" > + <header> + <cppcodedocumentation tag="" writeOutText="false" /> + </header> + </codeblockwithcomments> + </textblocks> + <header> + <codecomment tag="" text="/************************************************************************&#010; thunarvfsmonitor.h - Copyright bmeurer&#010;&#010;Here you can write a license for your code, some comments or any other&#010;information you want to have in your generated code. To to this simply&#010;configure the "headings" directory in uml to point to a directory&#010;where you have your heading files.&#010;&#010;or you can just replace the contents of this file with your own.&#010;If you want to do this, this file is located at&#010;&#010;/usr/share/apps/umbrello/headings/heading.h&#010;&#010;-->Code Generators searches for heading files based on the file extension&#010; i.e. it will look for a file name ending in ".h" to include in C++ header&#010; files, and for a file name ending in ".java" to include in all generated&#010; java code.&#010; If you name the file "heading.<extension>", Code Generator will always&#010; choose this file even if there are other files with the same extension in the&#010; directory. If you name the file something else, it must be the only one with that&#010; extension in the directory to guarantee that Code Generator will choose it.&#010;&#010;you can use variables in your heading files which are replaced at generation&#010;time. possible variables are : author, date, time, filename and filepath.&#010;just write %variable_name%&#010;&#010;This file was generated on Sat Jun 4 2005 at 18:36:38&#010;The original location of this file is thunar-vfs&#010;**************************************************************************/&#010;" /> + </header> + <classfields/> + </classifiercodedocument> + </codegenerator> + </codegeneration> + </XMI.extensions> +</XMI> diff --git a/thunar-vfs/Makefile.am b/thunar-vfs/Makefile.am new file mode 100644 index 0000000000000000000000000000000000000000..15f55be10abcb4f6ae75ebfacd171b96a2d9a7fd --- /dev/null +++ b/thunar-vfs/Makefile.am @@ -0,0 +1,32 @@ +# $Id$ + +INCLUDES = \ + -I$(top_srcdir) \ + -DEXO_API_SUBJECT_TO_CHANGE \ + -DEXO_DISABLE_DEPRECATED \ + -DG_LOG_DOMAIN=\"thunar-vfs\" + +lib_LTLIBRARIES = \ + libthunar-vfs.la + +libthunar_vfs_la_SOURCES = \ + thunar-vfs-info.c \ + thunar-vfs-info.h \ + thunar-vfs-monitor.c \ + thunar-vfs-monitor.h \ + thunar-vfs-util.c \ + thunar-vfs-util.h \ + thunar-vfs-uri.c \ + thunar-vfs-uri.h \ + thunar-vfs.h + +libthunar_vfs_la_CFLAGS = \ + $(EXO_CFLAGS) \ + $(GTHREAD_CFLAGS) + +libthunar_vfs_la_LDFLAGS = \ + -no-undefined \ + $(EXO_LIBS) \ + $(GTHREADS_LIBS) + +# vi:set ts=8 sw=8 noet ai nocindent syntax=automake: diff --git a/thunar-vfs/thunar-vfs-info.c b/thunar-vfs/thunar-vfs-info.c new file mode 100644 index 0000000000000000000000000000000000000000..3f219c02544ba414aeb5feebcbf322d39a17b57e --- /dev/null +++ b/thunar-vfs/thunar-vfs-info.c @@ -0,0 +1,255 @@ +/* $Id$ */ +/*- + * Copyright (c) 2005 Benedikt Meurer <benny@xfce.org> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library 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 + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#ifdef HAVE_SYS_STAT_H +#include <sys/stat.h> +#endif + +#ifdef HAVE_ERRNO_H +#include <errno.h> +#endif +#ifdef HAVE_MEMORY_H +#include <memory.h> +#endif +#ifdef HAVE_STRING_H +#include <string.h> +#endif + +#include <thunar-vfs/thunar-vfs-info.h> + + + +static gboolean thunar_vfs_info_update (ThunarVfsInfo *info, + GError **error); + + + +static ExoMimeDatabase *mime_database = NULL; + + + +static gboolean +thunar_vfs_info_update (ThunarVfsInfo *info, + GError **error) +{ + const gchar *path; + struct stat lsb; + struct stat sb; + + path = thunar_vfs_uri_get_path (info->uri); + + if (lstat (path, &lsb) < 0) + { + g_set_error (error, G_FILE_ERROR, g_file_error_from_errno (errno), + "Failed to stat file `%s': %s", path, g_strerror (errno)); + return FALSE; + } + + if (!S_ISLNK (lsb.st_mode)) + { + if (info->ctime != lsb.st_ctime + || info->device != lsb.st_dev + || info->inode != lsb.st_ino) + { + /* no symlink, so no link target */ + if (G_UNLIKELY (info->target != NULL)) + { + g_free (info->target); + info->target = NULL; + } + + info->type = (lsb.st_mode & S_IFMT) >> 12; + info->mode = lsb.st_mode & 07777; + info->flags = THUNAR_VFS_FILE_FLAGS_NONE; + info->uid = lsb.st_uid; + info->gid = lsb.st_gid; + info->size = lsb.st_size; + info->atime = lsb.st_atime; + info->ctime = lsb.st_ctime; + info->mtime = lsb.st_mtime; + info->inode = lsb.st_ino; + info->device = lsb.st_dev; + } + } + else + { + gchar buffer[PATH_MAX + 1]; + gint length; + + /* we have a symlink, query the link target */ + length = readlink (path, buffer, sizeof (buffer) - 1); + if (length < 0) + { + g_set_error (error, G_FILE_ERROR, g_file_error_from_errno (errno), + "Failed to read link target of `%s': %s", path, + g_strerror (errno)); + return FALSE; + } + buffer[length] = '\0'; + + if (stat (path, &sb) == 0) + { + /* ok, link target is present */ + if (info->ctime != sb.st_ctime + || info->device != sb.st_dev + || info->inode != sb.st_ino) + { + /* update the link target */ + g_free (info->target); + info->target = g_new (gchar, length + 1); + memcpy (info->target, buffer, length + 1); + + info->type = (sb.st_mode & S_IFMT) >> 12; + info->mode = sb.st_mode & 07777; + info->flags = THUNAR_VFS_FILE_FLAGS_SYMLINK; + info->uid = sb.st_uid; + info->gid = sb.st_gid; + info->size = sb.st_size; + info->atime = sb.st_atime; + info->ctime = sb.st_ctime; + info->mtime = sb.st_mtime; + info->inode = sb.st_ino; + info->device = sb.st_dev; + } + } + else + { + /* we have a broken symlink */ + if (info->type != THUNAR_VFS_FILE_TYPE_SYMLINK + || info->ctime != lsb.st_ctime + || info->device != lsb.st_dev + || info->inode != lsb.st_ino) + { + + /* update the link target */ + g_free (info->target); + info->target = g_new (gchar, length + 1); + memcpy (info->target, buffer, length + 1); + + info->type = THUNAR_VFS_FILE_TYPE_SYMLINK; + info->mode = lsb.st_mode & 07777; + info->flags = THUNAR_VFS_FILE_FLAGS_SYMLINK; + info->uid = lsb.st_uid; + info->gid = lsb.st_gid; + info->size = lsb.st_size; + info->atime = lsb.st_atime; + info->ctime = lsb.st_ctime; + info->mtime = lsb.st_mtime; + info->inode = lsb.st_ino; + info->device = lsb.st_dev; + } + } + } + + return TRUE; +} + + + +/** + * thunar_vfs_info_query: + * @info : pointer to an uninitialized #ThunarVfsInfo object. + * @uri : an #ThunarVfsURI instance. + * @error : return location for errors. + * + * Return value: %TRUE if the operation succeed, else %FALSE. + **/ +gboolean +thunar_vfs_info_query (ThunarVfsInfo *info, + ThunarVfsURI *uri, + GError **error) +{ + g_return_val_if_fail (info != NULL, FALSE); + g_return_val_if_fail (info->uri == NULL, FALSE); + g_return_val_if_fail (info->target == NULL, FALSE); + g_return_val_if_fail (THUNAR_VFS_IS_URI (uri), FALSE); + + g_object_ref (G_OBJECT (uri)); + info->uri = uri; + + if (!thunar_vfs_info_update (info, error)) + { + g_object_unref (G_OBJECT (info->uri)); + info->uri = NULL; + return FALSE; + } + + return TRUE; +} + + + +/** + * thunar_vfs_info_get_mime_info: + * @info : pointer to a valid #ThunarVfsInfo object. + * + * Determines the appropriate MIME type for @info. The + * caller is responsible for freeing the returned object + * using #g_object_unref() once it's no longer needed. + * + * Return value: the #ExoMimeInfo instance for @info. + **/ +ExoMimeInfo* +thunar_vfs_info_get_mime_info (ThunarVfsInfo *info) +{ + const gchar *path; + + g_return_val_if_fail (info != NULL, NULL); + g_return_val_if_fail (THUNAR_VFS_IS_URI (info->uri), NULL); + + if (G_UNLIKELY (mime_database == NULL)) + mime_database = exo_mime_database_get_default (); + + switch (info->type) + { + case THUNAR_VFS_FILE_TYPE_SOCKET: + return exo_mime_database_get_info (mime_database, "inode/socket"); + + case THUNAR_VFS_FILE_TYPE_SYMLINK: + return exo_mime_database_get_info (mime_database, "inode/symlink"); + + case THUNAR_VFS_FILE_TYPE_BLOCKDEV: + return exo_mime_database_get_info (mime_database, "inode/blockdevice"); + + case THUNAR_VFS_FILE_TYPE_DIRECTORY: + return exo_mime_database_get_info (mime_database, "inode/directory"); + + case THUNAR_VFS_FILE_TYPE_CHARDEV: + return exo_mime_database_get_info (mime_database, "inode/chardevice"); + + case THUNAR_VFS_FILE_TYPE_FIFO: + return exo_mime_database_get_info (mime_database, "inode/fifo"); + + default: + path = thunar_vfs_uri_get_path (THUNAR_VFS_URI (info->uri)); + return exo_mime_database_get_info_for_file (mime_database, path); + } + + g_assert_not_reached (); + return NULL; +} + + + + diff --git a/thunar-vfs/thunar-vfs-info.h b/thunar-vfs/thunar-vfs-info.h new file mode 100644 index 0000000000000000000000000000000000000000..fe5bd69288d323fd84ba998b909ef9b5c4ed5397 --- /dev/null +++ b/thunar-vfs/thunar-vfs-info.h @@ -0,0 +1,218 @@ +/* $Id$ */ +/*- + * Copyright (c) 2005 Benedikt Meurer <benny@xfce.org> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library 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 + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __THUNAR_VFS_INFO_H__ +#define __THUNAR_VFS_INFO_H__ + +#include <sys/types.h> +#include <unistd.h> + +#include <exo/exo.h> + +#include <thunar-vfs/thunar-vfs-uri.h> + +G_BEGIN_DECLS; + +/** + * ThunarVfsFileType: + * @THUNAR_VFS_FILE_TYPE_FIFO : A named FIFO. + * @THUNAR_VFS_FILE_TYPE_CHARDEV : A character device node. + * @THUNAR_VFS_FILE_TYPE_DIRECTORY: A directory node. + * @THUNAR_VFS_FILE_TYPE_BLOCKDEV : A block device node. + * @THUNAR_VFS_FILE_TYPE_REGULAR : A regular file. + * @THUNAR_VFS_FILE_TYPE_SYMLINK : A broken symlink, for which the target does + * not exist (if the target would exist, the + * #ThunarVfsInfo object would have the type + * of the target). + * @THUNAR_VFS_FILE_TYPE_SOCKET : A unix domain socket. + * + * Describes the type of a file. + **/ +typedef enum { + THUNAR_VFS_FILE_TYPE_SOCKET = 0140000 >> 12, + THUNAR_VFS_FILE_TYPE_SYMLINK = 0120000 >> 12, + THUNAR_VFS_FILE_TYPE_REGULAR = 0100000 >> 12, + THUNAR_VFS_FILE_TYPE_BLOCKDEV = 0060000 >> 12, + THUNAR_VFS_FILE_TYPE_DIRECTORY = 0040000 >> 12, + THUNAR_VFS_FILE_TYPE_CHARDEV = 0020000 >> 12, + THUNAR_VFS_FILE_TYPE_FIFO = 0010000 >> 12, + THUNAR_VFS_FILE_TYPE_UNKNOWN = 0000000 >> 12, +} ThunarVfsFileType; + +/** + * ThunarVfsFileMode: + * @THUNAR_VFS_FILE_MODE_SUID : SUID bit. + * @THUNAR_VFS_FILE_MODE_SGID : SGID bit. + * @THUNAR_VFS_FILE_MODE_STICKY : Sticky bit. + * @THUNAR_VFS_FILE_MODE_USR_ALL : Owner can do everything. + * @THUNAR_VFS_FILE_MODE_USR_READ : Owner can read the file. + * @THUNAR_VFS_FILE_MODE_USR_WRITE: Owner can write the file. + * @THUNAR_VFS_FILE_MODE_USR_EXEC : Owner can execute the file. + * @THUNAR_VFS_FILE_MODE_GRP_ALL : Owner group can do everything. + * @THUNAR_VFS_FILE_MODE_GRP_READ : Owner group can read the file. + * @THUNAR_VFS_FILE_MODE_GRP_WRITE: Owner group can write the file. + * @THUNAR_VFS_FILE_MODE_GRP_EXEC : Owner group can execute the file. + * @THUNAR_VFS_FILE_MODE_OTH_ALL : Others can do everything. + * @THUNAR_VFS_FILE_MODE_OTH_READ : Others can read the file. + * @THUNAR_VFS_FILE_MODE_OTH_WRITE: Others can write the file. + * @THUNAR_VFS_FILE_MODE_OTH_EXEC : Others can execute the file. + * + * Special flags and permissions of a filesystem entity. + **/ +typedef enum { + THUNAR_VFS_FILE_MODE_SUID = 04000, + THUNAR_VFS_FILE_MODE_SGID = 02000, + THUNAR_VFS_FILE_MODE_STICKY = 01000, + THUNAR_VFS_FILE_MODE_USR_ALL = 00700, + THUNAR_VFS_FILE_MODE_USR_READ = 00400, + THUNAR_VFS_FILE_MODE_USR_WRITE = 00200, + THUNAR_VFS_FILE_MODE_USR_EXEC = 00100, + THUNAR_VFS_FILE_MODE_GRP_ALL = 00070, + THUNAR_VFS_FILE_MODE_GRP_READ = 00040, + THUNAR_VFS_FILE_MODE_GRP_WRITE = 00020, + THUNAR_VFS_FILE_MODE_GRP_EXEC = 00010, + THUNAR_VFS_FILE_MODE_OTH_ALL = 00007, + THUNAR_VFS_FILE_MODE_OTH_READ = 00004, + THUNAR_VFS_FILE_MODE_OTH_WRITE = 00002, + THUNAR_VFS_FILE_MODE_OTH_EXEC = 00001, +} ThunarVfsFileMode; + +/** + * ThunarVfsFileFlags: + * @THUNAR_VFS_FILE_FLAGS_NONE : No additional information available. + * @THUNAR_VFS_FILE_FLAGS_SYMLINK : The file is a symlink, and thereby the + * %target field is valid. Whether or not + * the other fields refer to the symlink + * itself or the linked file, depends on + * whether the symlink is broken or not. + * + * Flags providing additional information about the + * file system entity. + **/ +typedef enum { + THUNAR_VFS_FILE_FLAGS_NONE = 0, + THUNAR_VFS_FILE_FLAGS_SYMLINK = 1 << 0, +} ThunarVfsFileFlags; + +/** + * ThunarVfsFileDevice: + * Datatype to represent the device number of a file. + **/ +typedef dev_t ThunarVfsFileDevice; + +/** + * ThunarVfsFileInode: + * Datatype to represent the inode number of a file. + **/ +typedef ino_t ThunarVfsFileInode; + +/** + * ThunarVfsFileSize: + * Datatype to represent file sizes (in bytes). + **/ +typedef off_t ThunarVfsFileSize; + +/** + * ThunarVfsFileTime: + * Datatype to represent file times (in seconds). + **/ +typedef time_t ThunarVfsFileTime; + +/** + * ThunarVfsInfo: + * + * The #ThunarVfsInfo structure provides information about a file system + * entity. + **/ +typedef struct +{ + /* File type */ + ThunarVfsFileType type; + + /* File permissions and special mode flags */ + ThunarVfsFileMode mode; + + /* File flags */ + ThunarVfsFileFlags flags; + + /* Owner's user id */ + uid_t uid; + + /* Owner's group id */ + gid_t gid; + + /* Size in bytes */ + ThunarVfsFileSize size; + + /* time of last access */ + ThunarVfsFileTime atime; + + /* time of last modification */ + ThunarVfsFileTime mtime; + + /* time of last status change */ + ThunarVfsFileTime ctime; + + /* inode id */ + ThunarVfsFileInode inode; + + /* device id */ + ThunarVfsFileDevice device; + + /* file's URI */ + ThunarVfsURI *uri; + + /* link target in case of a symlink (as indicated by the + * %THUNAR_VFS_FILE_FLAGS_SYMLINK flag), else %NULL. + */ + char *target; +} ThunarVfsInfo; + +#define thunar_vfs_info_init(info) \ +G_STMT_START { \ + (info)->type = THUNAR_VFS_FILE_TYPE_UNKNOWN; \ + (info)->ctime = (ThunarVfsFileTime) -1; \ + (info)->uri = NULL; \ + (info)->target = NULL; \ +} G_STMT_END + +#define thunar_vfs_info_reset(info) \ +G_STMT_START { \ + if (G_LIKELY ((info)->target != NULL)) \ + { \ + g_free ((info)->target); \ + (info)->target = NULL; \ + } \ + if (G_LIKELY ((info)->uri != NULL)) \ + { \ + g_object_unref (G_OBJECT ((info)->uri)); \ + (info)->uri = NULL; \ + } \ +} G_STMT_END + +gboolean thunar_vfs_info_query (ThunarVfsInfo *info, + ThunarVfsURI *uri, + GError **error); + +ExoMimeInfo *thunar_vfs_info_get_mime_info (ThunarVfsInfo *info); + +G_END_DECLS; + +#endif /* !__THUNAR_VFS_INFO_H__ */ diff --git a/thunar-vfs/thunar-vfs-monitor.c b/thunar-vfs/thunar-vfs-monitor.c new file mode 100644 index 0000000000000000000000000000000000000000..653e5ed218306ddbd99d22960d382dbad8c59d6d --- /dev/null +++ b/thunar-vfs/thunar-vfs-monitor.c @@ -0,0 +1,25 @@ +/* $Id$ */ +/*- + * Copyright (c) 2005 Benedikt Meurer <benny@xfce.org> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library 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 + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <thunar-vfs/thunar-vfs-monitor.h> diff --git a/thunar-vfs/thunar-vfs-monitor.h b/thunar-vfs/thunar-vfs-monitor.h new file mode 100644 index 0000000000000000000000000000000000000000..8c3a8d81f3d3181ff0478239a69418a66b20297e --- /dev/null +++ b/thunar-vfs/thunar-vfs-monitor.h @@ -0,0 +1,49 @@ +/* $Id$ */ +/*- + * Copyright (c) 2005 Benedikt Meurer <benny@xfce.org> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library 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 + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __THUNAR_VFS_WATCH_H__ +#define __THUNAR_VFS_WATCH_H__ + +#include <thunar-vfs/thunar-vfs-info.h> + +G_BEGIN_DECLS; + +typedef struct _ThunarVfsMonitorClass ThunarVfsMonitorClass; +typedef struct _ThunarVfsMonitor ThunarVfsMonitor; + +#define THUNAR_VFS_TYPE_MONITOR (thunar_vfs_monitor_get_type ()) +#define THUNAR_VFS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), THUNAR_VFS_TYPE_MONITOR, ThunarVfsMonitor)) +#define THUNAR_VFS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), THUNAR_VFS_TYPE_MONITOR, ThunarVfsMonitorClass)) +#define THUNAR_VFS_IS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), THUNAR_VFS_TYPE_MONITOR)) +#define THUNAR_VFS_IS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), THUNAR_VFS_TYPE_MONITOR)) +#define THUNAR_VFS_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), THUNAR_VFS_TYPE_MONITOR, ThunarVfsMonitorClass)) + +GType thunar_vfs_monitor_get_type (void) G_GNUC_CONST; + +ThunarVfsMonitor *thunar_vfs_monitor_get_for_uri (ThunarVfsURI *uri); + +void thunar_vfs_monitor_add (ThunarVfsMonitor *monitor, + ThunarVfsInfo *info); +void thunar_vfs_monitor_remove (ThunarVfsMonitor *monitor, + ThunarVfsInfo *info); + +G_END_DECLS; + +#endif /* !__THUNAR_VFS_WATCH_H__ */ diff --git a/thunar-vfs/thunar-vfs-uri.c b/thunar-vfs/thunar-vfs-uri.c new file mode 100644 index 0000000000000000000000000000000000000000..f368fa6dad3c2478cfcd22128134f190b8b53ac1 --- /dev/null +++ b/thunar-vfs/thunar-vfs-uri.c @@ -0,0 +1,256 @@ +/* $Id$ */ +/*- + * Copyright (c) 2004-2005 Benedikt Meurer <benny@xfce.org> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library 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 + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <thunar-vfs/thunar-vfs-uri.h> + + + +static void thunar_vfs_uri_class_init (ThunarVfsURIClass *klass); +static void thunar_vfs_uri_init (ThunarVfsURI *uri); +static void thunar_vfs_uri_finalize (GObject *object); + + + +struct _ThunarVfsURIClass +{ + GObjectClass __parent__; +}; + +struct _ThunarVfsURI +{ + GObject __parent__; + + gchar *path; + const gchar *name; +}; + + + +G_DEFINE_TYPE (ThunarVfsURI, thunar_vfs_uri, G_TYPE_OBJECT); + + + +static void +thunar_vfs_uri_class_init (ThunarVfsURIClass *klass) +{ + GObjectClass *gobject_class; + + gobject_class = G_OBJECT_CLASS (klass); + gobject_class->finalize = thunar_vfs_uri_finalize; +} + + + +static void +thunar_vfs_uri_init (ThunarVfsURI *uri) +{ +} + + + +static void +thunar_vfs_uri_finalize (GObject *object) +{ + ThunarVfsURI *uri = THUNAR_VFS_URI (object); + + g_return_if_fail (THUNAR_VFS_IS_URI (uri)); + + g_free (uri->path); + + G_OBJECT_CLASS (g_type_class_peek_static (G_TYPE_OBJECT))->finalize (object); +} + + + +/** + * thunar_vfs_uri_new_for_path: + * @path : an absolute path referring to a file accessible via the local + * file system implementation. + * + * Allocates a new #ThunarVfsURI instance that refers to the local file + * identified by @path. + * + * Return value: the newly allocated #ThunarVfsURI instance. + **/ +ThunarVfsURI* +thunar_vfs_uri_new_for_path (const gchar *path) +{ + ThunarVfsURI *uri; + const gchar *p; + + g_return_val_if_fail (path != NULL, NULL); + g_return_val_if_fail (g_path_is_absolute (path), NULL); + + /* allocate the URI instance */ + uri = g_object_new (THUNAR_VFS_TYPE_URI, NULL); + uri->path = g_strdup (path); + + /* determine the basename of the path */ + for (p = uri->name = uri->path; *p != '\0'; ++p) + if (p[0] == '/' && (p[1] != '/' && p[1] != '\0')) + uri->name = p + 1; + + return uri; +} + + + +/** + * thunar_vfs_uri_is_local: + * @uri : an #ThunarVfsURI instance. + * + * Checks whether @uri refers to a local resource. + * + * Return value: %TRUE if the @uri refers to a local resource. + **/ +gboolean +thunar_vfs_uri_is_local (ThunarVfsURI *uri) +{ + g_return_val_if_fail (THUNAR_VFS_IS_URI (uri), FALSE); + return TRUE; +} + + + +/** + * thunar_vfs_uri_get_display_name: + * @uri : an #ThunarVfsURI instance. + * + * Returns a displayable version of the @uri's base + * name in UTF-8 encoding, which is suitable for + * display in the user interface. + * + * The returned string must be freed using #g_free() + * when no longer needed. + * + * Return value: a displayable version of the @uri's base name. + **/ +gchar* +thunar_vfs_uri_get_display_name (ThunarVfsURI *uri) +{ + g_return_val_if_fail (THUNAR_VFS_IS_URI (uri), NULL); + + // FIXME: This should be optimized (and GLib 2.4 compatible)! + return g_filename_display_basename (uri->path); +} + + + +/** + * thunar_vfs_uri_get_name: + * @uri : an #ThunarVfsURI instance. + * + * Returns the basename of @uri. + * + * Return value: the basename of @uri. + **/ +const gchar* +thunar_vfs_uri_get_name (ThunarVfsURI *uri) +{ + g_return_val_if_fail (THUNAR_VFS_IS_URI (uri), NULL); + return uri->name; +} + + + +/** + * thunar_vfs_uri_get_path: + * @uri : an #ThunarVfsURI instance. + * + * Returns the path component of the given @uri. + * + * Return value: the path component of @uri. + **/ +const gchar* +thunar_vfs_uri_get_path (ThunarVfsURI *uri) +{ + g_return_val_if_fail (THUNAR_VFS_IS_URI (uri), NULL); + return uri->path; +} + + + +/** + * thunar_vfs_uri_relative: + * @uri : an #ThunarVfsURI instance. + * @name : + * + * Return value: + **/ +ThunarVfsURI* +thunar_vfs_uri_relative (ThunarVfsURI *uri, + const gchar *name) +{ + ThunarVfsURI *relative; + + g_return_val_if_fail (THUNAR_VFS_IS_URI (uri), NULL); + g_return_val_if_fail (name != NULL, NULL); + + relative = g_object_new (THUNAR_VFS_TYPE_URI, NULL); + relative->path = g_build_filename (uri->path, name, NULL); + + return relative; +} + + + +/** + * thunar_vfs_uri_hash: + * @uri : a #ThunarVfsURI. + * + * Calculates a hash value for the given @uri. + * + * Return value: a hash value for @uri. + **/ +guint +thunar_vfs_uri_hash (gconstpointer uri) +{ + g_return_val_if_fail (THUNAR_VFS_IS_URI (uri), 0); + return g_str_hash (THUNAR_VFS_URI (uri)->path); +} + + + +/** + * thunar_vfs_uri_equal: + * @a : first #ThunarVfsURI. + * @b : second #ThunarVfsURI. + * + * Checks whether the two URIs @a and @b refer to the same + * resource. + * + * Return value: %TRUE if @a equals @b. + **/ +gboolean +thunar_vfs_uri_equal (gconstpointer a, + gconstpointer b) +{ + g_return_val_if_fail (THUNAR_VFS_IS_URI (a), FALSE); + g_return_val_if_fail (THUNAR_VFS_IS_URI (b), FALSE); + return g_str_equal (THUNAR_VFS_URI (a)->path, THUNAR_VFS_URI (b)->path); +} + + + + diff --git a/thunar-vfs/thunar-vfs-uri.h b/thunar-vfs/thunar-vfs-uri.h new file mode 100644 index 0000000000000000000000000000000000000000..7ce303d926cd8217945b67baee87f253d999f4a7 --- /dev/null +++ b/thunar-vfs/thunar-vfs-uri.h @@ -0,0 +1,56 @@ +/* $Id$ */ +/*- + * Copyright (c) 2004-2005 Benedikt Meurer <benny@xfce.org> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library 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 + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __THUNAR_VFS_URI_H__ +#define __THUNAR_VFS_URI_H__ + +#include <glib-object.h> + +G_BEGIN_DECLS; + +typedef struct _ThunarVfsURIClass ThunarVfsURIClass; +typedef struct _ThunarVfsURI ThunarVfsURI; + +#define THUNAR_VFS_TYPE_URI (thunar_vfs_uri_get_type ()) +#define THUNAR_VFS_URI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), THUNAR_VFS_TYPE_URI, ThunarVfsURI)) +#define THUNAR_VFS_URI_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), THUNAR_VFS_TYPE_URI, ThunarVfsURIClass)) +#define THUNAR_VFS_IS_URI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), THUNAR_VFS_TYPE_URI)) +#define THUNAR_VFS_IS_URI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), THUNAR_VFS_TYPE_URI)) +#define THUNAR_VFS_URI_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), THUNAR_VFS_TYPE_URI, ThunarVfsURIClass)) + +GType thunar_vfs_uri_get_type (void) G_GNUC_CONST; + +ThunarVfsURI *thunar_vfs_uri_new_for_path (const gchar *path); + +gboolean thunar_vfs_uri_is_local (ThunarVfsURI *uri); +gchar *thunar_vfs_uri_get_display_name (ThunarVfsURI *uri); +const gchar *thunar_vfs_uri_get_name (ThunarVfsURI *uri); +const gchar *thunar_vfs_uri_get_path (ThunarVfsURI *uri); + +ThunarVfsURI *thunar_vfs_uri_relative (ThunarVfsURI *uri, + const gchar *name); + +guint thunar_vfs_uri_hash (gconstpointer uri); +gboolean thunar_vfs_uri_equal (gconstpointer a, + gconstpointer b); + +G_END_DECLS; + +#endif /* !__THUNAR_VFS_URI_H__ */ diff --git a/thunar-vfs/thunar-vfs-util.c b/thunar-vfs/thunar-vfs-util.c new file mode 100644 index 0000000000000000000000000000000000000000..84e0c544ada9f0bc3c92c42c707687003f836bd8 --- /dev/null +++ b/thunar-vfs/thunar-vfs-util.c @@ -0,0 +1,58 @@ +/* $Id$ */ +/*- + * Copyright (c) 2005 Benedikt Meurer <benny@xfce.org> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library 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 + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <thunar-vfs/thunar-vfs-util.h> + + + +/** + * thunar_vfs_humanize_size: + * @size : size in bytes. + * @buffer : destination buffer or %NULL to dynamically allocate a buffer. + * @buflen : length of @buffer in bytes. + * + * Return value: a string containing a human readable description of @size. + **/ +gchar* +thunar_vfs_humanize_size (ThunarVfsFileSize size, + gchar *buffer, + gsize buflen) +{ + if (buffer == NULL) + { + buffer = g_new (gchar, 32); + buflen = 32; + } + + if (G_UNLIKELY (size > 1024ul * 1024ul * 1024ul)) + g_snprintf (buffer, buflen, "%0.1f G", size / (1024.0 * 1024.0 * 1024.0)); + else if (size > 1024ul * 1024ul) + g_snprintf (buffer, buflen, "%0.1f M", size / (1024.0 * 1024.0)); + else if (size > 1024ul) + g_snprintf (buffer, buflen, "%0.1f K", size / 1024.0); + else + g_snprintf (buffer, buflen, "%lu B", (gulong) size); + + return buffer; +} diff --git a/thunar-vfs/thunar-vfs-util.h b/thunar-vfs/thunar-vfs-util.h new file mode 100644 index 0000000000000000000000000000000000000000..caa2aebf6d2910e4df7cbf8142c22944897e5e43 --- /dev/null +++ b/thunar-vfs/thunar-vfs-util.h @@ -0,0 +1,34 @@ +/* $Id$ */ +/*- + * Copyright (c) 2005 Benedikt Meurer <benny@xfce.org> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library 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 + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __THUNAR_VFS_UTIL_H__ +#define __THUNAR_VFS_UTIL_H__ + +#include <thunar-vfs/thunar-vfs-info.h> + +G_BEGIN_DECLS; + +gchar *thunar_vfs_humanize_size (ThunarVfsFileSize size, + gchar *buffer, + gsize buflen); + +G_END_DECLS; + +#endif /* !__THUNAR_VFS_UTIL_H__ */ diff --git a/thunar-vfs/thunar-vfs.h b/thunar-vfs/thunar-vfs.h new file mode 100644 index 0000000000000000000000000000000000000000..9e953de7dc612cad560d87a0d006c7c8b57eddf1 --- /dev/null +++ b/thunar-vfs/thunar-vfs.h @@ -0,0 +1,29 @@ +/* $Id$ */ +/*- + * Copyright (c) 2005 Benedikt Meurer <benny@xfce.org> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library 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 + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __THUNAR_VFS_H__ +#define __THUNAR_VFS_H__ + +#include <thunar-vfs/thunar-vfs-info.h> +#include <thunar-vfs/thunar-vfs-monitor.h> +#include <thunar-vfs/thunar-vfs-uri.h> +#include <thunar-vfs/thunar-vfs-util.h> + +#endif /* !__THUNAR_VFS_H__ */ diff --git a/thunar/Makefile.am b/thunar/Makefile.am index 7c9a50dfa0df56e675655f323d993ba0b944a727..707933f757dcaad640e59ddca1f70812765beee9 100644 --- a/thunar/Makefile.am +++ b/thunar/Makefile.am @@ -10,14 +10,36 @@ bin_PROGRAMS = \ Thunar Thunar_SOURCES = \ - main.c + main.c \ + thunar-application.c \ + thunar-application.h \ + thunar-desktop-view.c \ + thunar-desktop-view.h \ + thunar-file.c \ + thunar-file.h \ + thunar-folder.c \ + thunar-folder.h \ + thunar-list-model.c \ + thunar-list-model.h \ + thunar-preferences.c \ + thunar-preferences.h \ + thunar-window.c \ + thunar-window.h Thunar_CFLAGS = \ - $(EXO_CFLAGS) + $(EXO_CFLAGS) \ + $(GTHREAD_CFLAGS) Thunar_LDFLAGS = \ -no-undefined \ - $(EXO_LIBS) + $(EXO_LIBS) \ + $(GTHREAD_LIBS) + +Thunar_LDADD = \ + $(top_builddir)/thunar-vfs/libthunar-vfs.la + +Thunar_DEPENDENCIES = \ + $(top_builddir)/thunar-vfs/libthunar-vfs.la # install symlink to 'thunar' install-data-local: @@ -27,4 +49,8 @@ install-data-local: clean-local: rm -f *.core core core.* +EXTRA_DIST = \ + fallback-icon.h \ + fallback-icon.png + # vi:set ts=8 sw=8 noet ai nocindent syntax=automake: diff --git a/thunar/fallback-icon.h b/thunar/fallback-icon.h new file mode 100644 index 0000000000000000000000000000000000000000..6a8d0bbfd379167e80c4d8f210dfc56b4f54bb44 --- /dev/null +++ b/thunar/fallback-icon.h @@ -0,0 +1,369 @@ +/* GdkPixbuf RGBA C-Source image dump */ + +#ifdef __SUNPRO_C +#pragma align 4 (fallback_icon) +#endif +#ifdef __GNUC__ +static const guint8 fallback_icon[] __attribute__ ((__aligned__ (4))) = +#else +static const guint8 fallback_icon[] = +#endif +{ "" + /* Pixbuf magic (0x47646b50) */ + "GdkP" + /* length: header (24) + pixel_data (9216) */ + "\0\0$\30" + /* pixdata_type (0x1010002) */ + "\1\1\0\2" + /* rowstride (192) */ + "\0\0\0\300" + /* width (48) */ + "\0\0\0""0" + /* height (48) */ + "\0\0\0""0" + /* pixel_data: */ + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0" + "\0\0\377\214\214\214\377\214\214\214\377\0\0\0\377\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377\214\214\214" + "\377\252\252\252\377\247\247\246\377\231\231\231\377\22\22\22\377\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\377\2\2\2\377&&&\377\226\226\226" + "\377\265\265\265\377\262\262\262\377\261\261\260\377\257\257\256\377" + "\256\256\255\377MML\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\377\0\0\0\377\26\26\26\377\26\26\26\377kkk\377\237\237" + "\237\377\271\271\270\377\270\270\267\377\270\270\267\377\266\266\265" + "\377\264\264\264\377\262\262\262\377\260\260\260\377\257\257\257\377" + "\255\255\254\377\230\230\227\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\30\30\30\377\235\235\235\377\252\252\251\377\254\254\253\377" + "\260\260\257\377\270\270\270\377\270\270\270\377\270\270\270\377\267" + "\267\267\377\266\266\266\377\265\265\264\377\264\264\263\377\262\262" + "\261\377\261\261\260\377\257\257\256\377\255\255\255\377\255\255\255" + "\377%%%\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\323\323\323\377zzz\377" + "\207\207\207\377\237\237\237\377\250\250\247\377\261\261\260\377\264" + "\264\263\377\265\265\265\377\264\264\264\377\264\264\264\377\263\263" + "\263\377\262\262\262\377\261\261\261\377\260\260\257\377\256\256\255" + "\377\256\256\255\377\255\255\254\377\207\207\206\377\0\0\0\377\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\377\325\325\325\377\341\341\340\377\177\177\177\377kkk\377" + "\200\200\200\377\237\237\237\377\253\253\253\377\260\260\260\377\262" + "\262\261\377\263\263\262\377\261\261\260\377\262\262\261\377\257\257" + "\257\377\260\260\260\377\256\256\256\377\255\255\255\377\255\255\255" + "\377\255\255\254\377\255\255\254\377\23\23\23\377\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\240\240" + "\240\377\335\335\335\377\333\333\333\377\313\313\313\377ZZY\377xxx\377" + "\231\231\230\377\244\244\244\377\254\254\254\377\257\257\257\377\257" + "\257\257\377\257\257\257\377\257\257\256\377\257\257\256\377\256\256" + "\256\377\255\255\255\377\255\255\255\377\255\255\255\377\254\254\254" + "\377\255\255\255\377\206\206\206\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\31\31\31\377\324\324\324\377" + "\337\337\337\377\335\335\335\377\323\323\323\377RRR\377rrr\377\220\220" + "\220\377\235\235\234\377\246\246\245\377\254\254\254\377\255\255\255" + "\377\255\255\255\377\255\255\255\377\255\255\255\377\255\255\255\377" + "\255\255\254\377\255\255\254\377\254\254\253\377\255\255\254\377\255" + "\255\254\377\255\255\255\377\23\23\23\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\253\253\253\377\344\344\344\377" + "\247\247\246\377bba\377MMM\377]]]\377ooo\377\215\215\215\377\230\230" + "\230\377\236\236\236\377\245\245\245\377\254\254\253\377\254\254\254" + "\377\256\256\255\377\256\256\256\377\255\255\255\377\254\254\254\377" + "\253\253\253\377\254\254\254\377\255\255\254\377\256\256\255\377\257" + "\257\256\377\207\207\206\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\377ddd\377\\\\\\\377SSS\377RRR\377aaa\377pp" + "p\377ttt\377\217\217\217\377\231\231\231\377\235\235\235\377\247\247" + "\247\377\254\254\254\377\254\254\254\377\257\257\256\377\257\257\257" + "\377\257\257\256\377\256\256\255\377\254\254\254\377\254\254\254\377" + "\255\255\255\377\257\257\257\377\260\260\260\377\261\261\261\377\24\24" + "\24\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377BBB\377" + "\177\177\177\377www\377www\377xxx\377xxx\377\213\213\213\377\222\222" + "\222\377\236\236\235\377\244\244\243\377\255\255\254\377\260\260\260" + "\377\261\261\261\377\262\262\262\377\263\263\263\377\262\262\262\377" + "\260\260\257\377\256\256\255\377\257\257\256\377\260\260\257\377\261" + "\261\261\377\262\262\262\377\263\263\263\377\210\210\210\377\0\0\0\377" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\32\32\32\377\216\216" + "\216\377\230\230\227\377\202\202\201\377\217\217\217\377\177\177\177" + "\377\224\224\224\377\234\234\234\377\247\247\247\377\257\257\257\377" + "\261\261\261\377\264\264\263\377\266\266\265\377\265\265\264\377\265" + "\265\265\377\264\264\264\377\264\264\264\377\262\262\262\377\262\262" + "\262\377\264\264\263\377\265\265\264\377\265\265\264\377\266\266\265" + "\377\267\267\266\377'''\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\3\3\3\377\261\261\261\377\250\250\250\377\242\242\242\377\237" + "\237\237\377\242\242\241\377\246\246\245\377\252\252\252\377\257\257" + "\257\377\262\262\262\377\266\266\266\377\271\271\271\377\272\272\272" + "\377\273\273\273\377\273\273\272\377\272\272\271\377\272\272\271\377" + "\270\270\270\377\270\270\270\377\270\270\270\377\270\270\270\377\271" + "\271\271\377\271\271\270\377\271\271\270\377\217\217\216\377\0\0\0\377" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\274\274\274\377\266" + "\266\266\377\264\264\264\377\261\261\261\377\261\261\261\377\260\260" + "\260\377\262\262\262\377\266\266\265\377\272\272\271\377\277\277\277" + "\377\276\276\276\377\277\277\277\377\300\300\300\377\300\300\300\377" + "\277\277\277\377\277\277\277\377\275\275\274\377\275\275\274\377\275" + "\275\274\377\274\274\274\377\274\274\274\377\274\274\274\377\273\273" + "\273\377\273\273\273\377)))\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\377\273\273\273\377\302\302\302\377\277\277\276\377\273\273" + "\273\377\271\271\271\377\270\270\270\377\271\271\271\377\276\276\276" + "\377\303\303\303\377\304\304\304\377\306\306\305\377\310\310\307\377" + "\307\307\306\377\306\306\306\377\305\305\305\377\304\304\304\377\303" + "\303\303\377\302\302\302\377\302\302\302\377\302\302\301\377\300\300" + "\277\377\300\300\277\377\277\277\277\377\275\275\275\377\250\250\250" + "\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\256\256\256" + "\377\315\315\315\377\310\310\310\377\305\305\305\377\304\304\304\377" + "\302\302\301\377\300\300\300\377\306\306\306\377\311\311\311\377\312" + "\312\312\377\314\314\314\377\314\314\314\377\315\315\315\377\314\314" + "\313\377\313\313\312\377\312\312\311\377\310\310\310\377\307\307\307" + "\377\306\306\306\377\305\305\305\377\304\304\304\377\304\304\304\377" + "\302\302\301\377\301\301\300\377\300\300\277\377}}|\377\0\0\0\377\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\377PPP\377\330\330\330\377\324\324\324\377" + "\320\320\320\377\315\315\315\377\316\316\316\377\316\316\316\377\320" + "\320\320\377\321\321\320\377\322\322\322\377\322\322\322\377\322\322" + "\322\377\321\321\321\377\321\321\321\377\320\320\320\377\320\320\320" + "\377\316\316\315\377\315\315\314\377\314\314\313\377\311\311\311\377" + "\310\310\310\377\306\306\306\377\305\305\305\377\304\304\304\377\303" + "\303\302\377\302\302\301\377\25\25\24\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\377\343\343\343\377\340\340\337\377\333\333\333\377\330\330" + "\330\377\330\330\330\377\330\330\330\377\327\327\327\377\330\330\330" + "\377\331\331\331\377\331\331\330\377\330\330\327\377\327\327\327\377" + "\326\326\326\377\324\324\324\377\324\324\324\377\322\322\322\377\320" + "\320\320\377\316\316\316\377\315\315\314\377\314\314\313\377\312\312" + "\311\377\310\310\310\377\307\307\307\377\306\306\306\377\304\304\304" + "\377\236\236\236\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\335" + "\335\335\377\350\350\350\377\346\346\346\377\343\343\343\377\341\341" + "\340\377\337\337\337\377\336\336\336\377\335\335\335\377\335\335\335" + "\377\334\334\334\377\334\334\334\377\334\334\334\377\333\333\332\377" + "\333\333\332\377\331\331\330\377\326\326\326\377\324\324\324\377\322" + "\322\322\377\321\321\321\377\317\317\317\377\316\316\316\377\314\314" + "\313\377\313\313\312\377\311\311\310\377\306\306\306\377\304\304\304" + "\377***\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\311\311\311\377\360\360" + "\360\377\354\354\354\377\351\351\351\377\346\346\346\377\344\344\344" + "\377\343\343\343\377\342\342\341\377\340\340\340\377\340\340\340\377" + "\340\340\340\377\337\337\337\377\337\337\337\377\336\336\336\377\335" + "\335\335\377\333\333\332\377\331\331\330\377\327\327\326\377\324\324" + "\324\377\322\322\322\377\321\321\321\377\317\317\317\377\315\315\315" + "\377\313\313\313\377\311\311\310\377\307\307\306\377\256\256\255\377" + "\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377{{{\377\364\364\364\377\361\361\361" + "\377\356\356\356\377\353\353\353\377\351\351\351\377\347\347\347\377" + "\346\346\346\377\345\345\345\377\345\345\345\377\344\344\343\377\343" + "\343\343\377\342\342\342\377\341\341\341\377\340\340\340\377\336\336" + "\336\377\334\334\334\377\332\332\332\377\330\330\327\377\326\326\325" + "\377\324\324\323\377\321\321\321\377\317\317\317\377\315\315\315\377" + "\313\313\313\377\311\311\311\377\307\307\307\377\240\240\237\377\0\0" + "\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\34\34\34\377\371\371\371\377\366\366\366\377\363" + "\363\363\377\361\361\360\377\355\355\355\377\354\354\354\377\352\352" + "\352\377\351\351\351\377\350\350\350\377\347\347\347\377\347\347\347" + "\377\346\346\346\377\345\345\344\377\342\342\342\377\340\340\340\377" + "\336\336\336\377\334\334\334\377\332\332\332\377\330\330\330\377\326" + "\326\326\377\324\324\323\377\322\322\321\377\320\320\317\377\315\315" + "\315\377\313\313\313\377\304\304\304\377\220\220\220\377\0\0\0\377\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\377\333\333\333\377\372\372\372\377\367\367\367" + "\377\365\365\365\377\363\363\363\377\361\361\361\377\357\357\356\377" + "\355\355\355\377\354\354\354\377\353\353\353\377\352\352\352\377\350" + "\350\350\377\347\347\347\377\345\345\345\377\343\343\343\377\341\341" + "\340\377\337\337\336\377\334\334\334\377\332\332\332\377\330\330\330" + "\377\326\326\326\377\324\324\324\377\322\322\322\377\320\320\317\377" + "\222\222\222\377\26\26\26\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\377\272\272\272\377\374\374\374\377\373\373\373\377\371\371\371\377" + "\367\367\367\377\365\365\365\377\363\363\363\377\362\362\362\377\360" + "\360\360\377\357\357\356\377\355\355\355\377\353\353\353\377\351\351" + "\351\377\347\347\347\377\345\345\345\377\343\343\343\377\341\341\341" + "\377\337\337\337\377\335\335\334\377\333\333\332\377\330\330\330\377" + "\326\326\326\377\255\255\255\377\27\27\27\377\0\0\0\377\0\0\0\377\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0""888\377\376\376\376\377\375\375" + "\375\377\375\375\375\377\372\372\372\377\370\370\370\377\366\366\366" + "\377\365\365\365\377\363\363\363\377\362\362\362\377\360\360\360\377" + "\356\356\356\377\354\354\353\377\351\351\351\377\347\347\347\377\345" + "\345\345\377\343\343\343\377\341\341\341\377\337\337\337\377\335\335" + "\335\377\260\260\257\377\27\27\27\377\0\0\0\377\0\0\0\377\0\0\0\377\0" + "\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\377\377" + "\377\377\377\377\377\377\376\376\376\377\376\376\376\377\374\374\374" + "\377\373\373\372\377\370\370\370\377\366\366\366\377\364\364\364\377" + "\362\362\362\377\360\360\360\377\356\356\356\377\354\354\354\377\352" + "\352\352\377\350\350\347\377\346\346\345\377\325\325\325\377\243\243" + "\243\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" + "\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\276\276" + "\276\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\375\375\375\377\373\373\373\377\371\371\371\377\367\367\366\377" + "\364\364\364\377\362\362\362\377\360\360\360\377\356\356\356\377\354" + "\354\354\377\306\306\306\377\226\226\226\377\0\0\0\377\0\0\0\377\0\0" + "\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" + "\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377}}}\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\375\375\375\377\373\373\373\377\371\371\371\377\367\367\367\377\365" + "\365\365\377\363\363\362\377\240\240\240\377444\377\0\0\0\377\0\0\0\377" + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\377\375\375\375\377\373\373\373" + "\377\317\317\317\377\217\217\217\377\0\0\0\377\0\0\0\377\0\0\0\377\0" + "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" + "\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\377\276\276\276\377\377\377\377\377\377\377\377" + "\377\377\377\377\377\377\377\377\377\342\342\342\377\247\247\247\377" + "777\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0" + "\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0""888\377\377\377\377\377\342\342\342\377\273\273\273\377}}}\377" + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" + "\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377" + "\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0\377\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0" + "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}; + + diff --git a/thunar/fallback-icon.png b/thunar/fallback-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..180553875b7e62594129804b2a23241934ef90f5 Binary files /dev/null and b/thunar/fallback-icon.png differ diff --git a/thunar/main.c b/thunar/main.c index 459164af2e9d48772c06e3eb64c318462325be90..f73430ef04b4dc6e1dadac956348db999af94ab8 100644 --- a/thunar/main.c +++ b/thunar/main.c @@ -4,31 +4,77 @@ * * Written by Benedikt Meurer <benny@xfce.org>. * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. + * This program 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 2 of the License, or (at your option) + * any later version. * - * This library 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 - * Library General Public License for more details. + * This program 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 Library General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, Inc., 59 Temple + * Place, Suite 330, Boston, MA 02111-1307 USA */ #ifdef HAVE_CONFIG_H #include <config.h> #endif +#include <stdio.h> +#ifdef HAVE_STDLIB_H #include <stdlib.h> +#endif + +#include <thunar/thunar-window.h> + int main (int argc, char **argv) { + ThunarVfsURI *uri; + ThunarFolder *folder; + const gchar *path; + GtkWidget *window; + GError *error = NULL; + + /* Do NOT remove this line for now, If something doesn't work, + * fix your code instead! + */ + g_log_set_always_fatal (G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING); + + /* initialize the GLib thread support */ + if (!g_thread_supported ()) + g_thread_init (NULL); + + /* initialize Gtk+ */ + gtk_init (&argc, &argv); + + path = (argc > 1) ? argv[1] : xfce_get_homedir (); + + uri = thunar_vfs_uri_new_for_path (path); + folder = thunar_folder_get_for_uri (uri, &error); + g_object_unref (G_OBJECT (uri)); + + if (folder == NULL) + { + fprintf (stderr, "%s: Failed to open `%s': %s\n", + argv[0], path, error->message); + g_error_free (error); + return EXIT_FAILURE; + } + + window = thunar_window_new_with_folder (folder); + g_signal_connect (G_OBJECT (window), "destroy", + G_CALLBACK (gtk_main_quit), NULL); + gtk_widget_show (window); + + g_object_unref (G_OBJECT (folder)); + + gtk_main (); + return EXIT_SUCCESS; } diff --git a/thunar/thunar-application.c b/thunar/thunar-application.c new file mode 100644 index 0000000000000000000000000000000000000000..6c71a5bfd3a736a93b5e84bc131077a45f38ee4d --- /dev/null +++ b/thunar/thunar-application.c @@ -0,0 +1,127 @@ +/* $Id$ */ +/*- + * Copyright (c) 2005 Benedikt Meurer <benny@xfce.org> + * Copyright (c) 2005 Jeff Franks <jcfranks@xfce.org> + * + * This program 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 2 of the License, or (at your option) + * any later version. + * + * This program 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 + * this program; if not, write to the Free Software Foundation, Inc., 59 Temple + * Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <thunar/thunar-application.h> +#include <thunar/thunar-desktop-view.h> +#include <thunar/thunar-preferences.h> + + + +static void thunar_application_class_init (ThunarApplicationClass *klass); +static void thunar_application_init (ThunarApplication *application); +static void thunar_application_finalize (GObject *object); +static void thunar_application_window_destroyed (GtkWidget *window, + ThunarApplication *application); + + + +struct _ThunarApplicationClass +{ + GObjectClass __parent__; +}; + +struct _ThunarApplication +{ + GObject __parent__; + + ThunarDesktopView *desktop_view; + ThunarPreferences *preferences; + GList *windows; +}; + + + +static GObjectClass *parent_class; + + + +G_DEFINE_TYPE (ThunarApplication, thunar_application, G_TYPE_OBJECT); + + + +static void +thunar_application_class_init (ThunarApplicationClass *klass) +{ + GObjectClass *gobject_class; + + parent_class = g_type_class_peek_parent (klass); + + gobject_class = G_OBJECT_CLASS (klass); + gobject_class->finalize = thunar_application_finalize; +} + + + +static void +thunar_application_init (ThunarApplication *application) +{ + application->preferences = thunar_preferences_get (); + application->desktop_view = NULL; +} + + + +static void +thunar_application_finalize (GObject *object) +{ + ThunarApplication *application = THUNAR_APPLICATION (object); + GList *lp; + + for (lp = application->windows; lp != NULL; lp = lp->next) + { + g_signal_handlers_disconnect_by_func (G_OBJECT (lp->data), G_CALLBACK (thunar_application_window_destroyed), application); + gtk_widget_destroy (GTK_WIDGET (lp->data)); + } + g_list_free (application->windows); + + g_object_unref (G_OBJECT (application->preferences)); + + if (G_LIKELY (application->desktop_view != NULL)) + g_object_unref (G_OBJECT (application->desktop_view)); + + G_OBJECT_CLASS (parent_class)->finalize (object); +} + + + +static void +thunar_application_window_destroyed (GtkWidget *window, + ThunarApplication *application) +{ + g_return_if_fail (GTK_IS_WINDOW (window)); + g_return_if_fail (THUNAR_IS_APPLICATION (application)); + g_return_if_fail (g_list_find (application->windows, window) != NULL); + + application->windows = g_list_remove (application->windows, window); + + /* terminate the application if we don't have any more + * windows and we don't manage the desktop. + */ + if (G_UNLIKELY (application->windows == NULL + && application->desktop_view == NULL)) + { + gtk_main_quit (); + } +} + diff --git a/thunar/thunar-application.h b/thunar/thunar-application.h new file mode 100644 index 0000000000000000000000000000000000000000..c45d4b49c7c8d5b58249b90d389aab7575ce3f12 --- /dev/null +++ b/thunar/thunar-application.h @@ -0,0 +1,44 @@ +/* $Id$ */ +/*- + * Copyright (c) 2005 Benedikt Meurer <benny@xfce.org> + * Copyright (c) 2005 Jeff Franks <jcfranks@xfce.org> + * + * This program 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 2 of the License, or (at your option) + * any later version. + * + * This program 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 + * this program; if not, write to the Free Software Foundation, Inc., 59 Temple + * Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef __THUNAR_APPLICATION_H__ +#define __THUNAR_APPLICATION_H__ + +#include <thunar/thunar-window.h> + +G_BEGIN_DECLS; + +typedef struct _ThunarApplicationClass ThunarApplicationClass; +typedef struct _ThunarApplication ThunarApplication; + +#define THUNAR_TYPE_APPLICATION (thunar_application_get_type ()) +#define THUNAR_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), THUNAR_TYPE_APPLICATION, ThunarApplication)) +#define THUNAR_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), THUNAR_TYPE_APPLICATION, ThunarApplicationClass)) +#define THUNAR_IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), THUNAR_TYPE_APPLICATION)) +#define THUNAR_IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), THUNAR_TYPE_APPLICATION)) +#define THUNAR_APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), THUNAR_TYPE_APPLICATION, ThunarApplicationClass)) + +GType thunar_application_get_type (void) G_GNUC_CONST; + +ThunarApplication *thunar_application_new (void); + +G_END_DECLS; + +#endif /* !__THUNAR_APPLICATION_H__ */ diff --git a/thunar/thunar-desktop-view.c b/thunar/thunar-desktop-view.c new file mode 100644 index 0000000000000000000000000000000000000000..50c4edc4643d1e0d06119488230454b18c2449e4 --- /dev/null +++ b/thunar/thunar-desktop-view.c @@ -0,0 +1,292 @@ +/* $Id$ */ +/*- + * Copyright (c) 2005 Benedikt Meurer <benny@xfce.org> + * + * This program 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 2 of the License, or (at your option) + * any later version. + * + * This program 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 + * this program; if not, write to the Free Software Foundation, Inc., 59 Temple + * Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <exo/exo.h> + +#include <thunar/thunar-desktop-view.h> + + + +enum +{ + PROP_0, + PROP_DISPLAY, +}; + + + +static void thunar_desktop_view_class_init (ThunarDesktopViewClass *klass); +static void thunar_desktop_view_init (ThunarDesktopView *view); +static void thunar_desktop_view_finalize (GObject *object); +static void thunar_desktop_view_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); +static void thunar_desktop_view_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec); +static void thunar_desktop_view_realize (GtkWidget *widget); +static void thunar_desktop_view_unrealize (GtkWidget *widget); + + + +struct _ThunarDesktopViewClass +{ + GtkWidgetClass __parent__; +}; + +struct _ThunarDesktopView +{ + GtkWidget __parent__; + + GdkDisplay *display; +}; + + + +static GObjectClass *parent_class; + + + +G_DEFINE_TYPE (ThunarDesktopView, thunar_desktop_view, GTK_TYPE_WIDGET); + + + +static void +thunar_desktop_view_class_init (ThunarDesktopViewClass *klass) +{ + GtkWidgetClass *gtkwidget_class; + GObjectClass *gobject_class; + + parent_class = g_type_class_peek_parent (klass); + + gobject_class = G_OBJECT_CLASS (klass); + gobject_class->finalize = thunar_desktop_view_finalize; + gobject_class->get_property = thunar_desktop_view_get_property; + gobject_class->set_property = thunar_desktop_view_set_property; + + gtkwidget_class = GTK_WIDGET_CLASS (klass); + gtkwidget_class->realize = thunar_desktop_view_realize; + gtkwidget_class->unrealize = thunar_desktop_view_unrealize; + + /** + * ThunarDesktopView:display: + * + * The #GdkDisplay covered by this desktop view or %NULL if + * the desktop view is not currently connected to any + * display. + **/ + g_object_class_install_property (gobject_class, + PROP_DISPLAY, + g_param_spec_object ("display", + _("Display"), + _("The display currently associated with"), + GDK_TYPE_DISPLAY, + G_PARAM_READWRITE)); +} + + + +static void +thunar_desktop_view_init (ThunarDesktopView *view) +{ +} + + + +static void +thunar_desktop_view_finalize (GObject *object) +{ + ThunarDesktopView *view = THUNAR_DESKTOP_VIEW (object); + + g_return_if_fail (THUNAR_IS_DESKTOP_VIEW (view)); + + G_OBJECT_CLASS (parent_class)->finalize (object); +} + + + +static void +thunar_desktop_view_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + ThunarDesktopView *view = THUNAR_DESKTOP_VIEW (object); + + switch (prop_id) + { + case PROP_DISPLAY: + g_value_set_object (value, thunar_desktop_view_get_display (view)); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + + + +static void +thunar_desktop_view_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + ThunarDesktopView *view = THUNAR_DESKTOP_VIEW (object); + + switch (prop_id) + { + case PROP_DISPLAY: + thunar_desktop_view_set_display (view, g_value_get_object (value)); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + + + +static void +thunar_desktop_view_realize (GtkWidget *widget) +{ + ThunarDesktopView *view = THUNAR_DESKTOP_VIEW (widget); + + // TODO: Create one GdkWindow per screen (each spanning + // all monitors connected to the given screen) + (void)&view; +} + + + +static void +thunar_desktop_view_unrealize (GtkWidget *widget) +{ + ThunarDesktopView *view = THUNAR_DESKTOP_VIEW (widget); + + // TODO: Destroy all previously created GdkWindow's + (void)&view; +} + + + +/** + * thunar_desktop_view_new: + * + * Creates a new #ThunarDesktopView, which is associated with + * no #GdkDisplay. You'll need to set a display using + * #thunar_desktop_view_set_display() before realizing the + * view. + * + * Return value: the newly allocated #ThunarDesktopView instance. + **/ +GtkWidget* +thunar_desktop_view_new (void) +{ + return g_object_new (THUNAR_TYPE_DESKTOP_VIEW, NULL); +} + + + +/** + * thunar_desktop_view_new_with_display: + * @display : a valid #GdkDisplay. + * + * Creates a new #ThunarDesktop and associates it with the given + * @display. You can instantly show (and thereby realize) the + * returned object. + * + * Return value: the newly allocated #ThunarDesktopView instance. + **/ +GtkWidget* +thunar_desktop_view_new_with_display (GdkDisplay *display) +{ + g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL); + + return g_object_new (THUNAR_TYPE_DESKTOP_VIEW, + "display", display, + NULL); +} + + + +/** + * thunar_desktop_view_get_display: + * @view : a #ThunarDesktopView. + * + * Queries the #GdkDisplay currently used by the @view. May return + * %NULL if no display has been set yet. + * + * Return value: the #GdkDisplay @view is associated with or %NULL. + **/ +GdkDisplay* +thunar_desktop_view_get_display (ThunarDesktopView *view) +{ + g_return_val_if_fail (THUNAR_IS_DESKTOP_VIEW (view), NULL); + return view->display; +} + + + +/** + * thunar_desktop_view_set_display: + * @view : a #ThunarDesktopView. + * @display : a #GdkDisplay or %NULL. + * + * Sets the display to use for @view to @display. If @view was + * previously connected to another #GdkDisplay, it'll first + * disconnect from the old display, then connect to the new + * display. + **/ +void +thunar_desktop_view_set_display (ThunarDesktopView *view, + GdkDisplay *display) +{ + g_return_if_fail (THUNAR_IS_DESKTOP_VIEW (view)); + g_return_if_fail (display == NULL || GDK_IS_DISPLAY (display)); + + /* don't do anything if we already use that display */ + if (G_UNLIKELY (display == view->display)) + return; + + if (view->display != NULL) + { + // TODO: Disconnect from the old display (take into account the + // REALIZED state) + } + + view->display = display; + + if (view->display != NULL) + { + // TODO: Connect to the new display (take into account the + // REALIZED state) + } + + /* notify listeners */ + g_object_notify (G_OBJECT (view), "display"); +} diff --git a/thunar/thunar-desktop-view.h b/thunar/thunar-desktop-view.h new file mode 100644 index 0000000000000000000000000000000000000000..7963ee91c30fb9b8dbbeb0924f019a20d58f3a1e --- /dev/null +++ b/thunar/thunar-desktop-view.h @@ -0,0 +1,50 @@ +/* $Id$ */ +/*- + * Copyright (c) 2005 Benedikt Meurer <benny@xfce.org> + * + * This program 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 2 of the License, or (at your option) + * any later version. + * + * This program 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 + * this program; if not, write to the Free Software Foundation, Inc., 59 Temple + * Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef __THUNAR_DESKTOP_VIEW_H__ +#define __THUNAR_DESKTOP_VIEW_H__ + +#include <gtk/gtk.h> + +#include <thunar/thunar-preferences.h> + +G_BEGIN_DECLS; + +typedef struct _ThunarDesktopViewClass ThunarDesktopViewClass; +typedef struct _ThunarDesktopView ThunarDesktopView; + +#define THUNAR_TYPE_DESKTOP_VIEW (thunar_desktop_view_get_type ()) +#define THUNAR_DESKTOP_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), THUNAR_TYPE_DESKTOP_VIEW, ThunarDesktopView)) +#define THUNAR_DESKTOP_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), THUNAR_TYPE_DESKTOP_VIEW, ThunarDesktopViewClass)) +#define THUNAR_IS_DESKTOP_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), THUNAR_TYPE_DESKTOP_VIEW)) +#define THUNAR_IS_DESKTOP_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), THUNAR_TYPE_DESKTOP_VIEW)) +#define THUNAR_DESKTOP_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), THUNAR_TYPE_DESKTOP_VIEW, ThunarDesktopViewClass)) + +GType thunar_desktop_view_get_type (void) G_GNUC_CONST; + +GtkWidget *thunar_desktop_view_new (void); +GtkWidget *thunar_desktop_view_new_with_display (GdkDisplay *display); + +GdkDisplay *thunar_desktop_view_get_display (ThunarDesktopView *view); +void thunar_desktop_view_set_display (ThunarDesktopView *view, + GdkDisplay *display); + +G_END_DECLS; + +#endif /* !__THUNAR_DESKTOP_VIEW_H__ */ diff --git a/thunar/thunar-file.c b/thunar/thunar-file.c new file mode 100644 index 0000000000000000000000000000000000000000..93382fe9d1ca044eb03a0d80de93ca6c3968a0dd --- /dev/null +++ b/thunar/thunar-file.c @@ -0,0 +1,476 @@ +/* $Id$ */ +/*- + * Copyright (c) 2005 Benedikt Meurer <benny@xfce.org> + * + * This program 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 2 of the License, or (at your option) + * any later version. + * + * This program 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 + * this program; if not, write to the Free Software Foundation, Inc., 59 Temple + * Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <thunar/thunar-file.h> + +#include "fallback-icon.h" + + + +enum +{ + PROP_0, + PROP_DISPLAY_NAME, + PROP_MIME_INFO, + PROP_URI, +}; + +enum +{ + CHANGED, + LAST_SIGNAL, +}; + + + +static void thunar_file_class_init (ThunarFileClass *klass); +static void thunar_file_init (ThunarFile *file); +static void thunar_file_finalize (GObject *object); +static void thunar_file_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); + + + +static GObjectClass *parent_class; +static guint file_signals[LAST_SIGNAL]; + + + +G_DEFINE_TYPE (ThunarFile, thunar_file, GTK_TYPE_OBJECT); + + + +static void +thunar_file_class_init (ThunarFileClass *klass) +{ + GObjectClass *gobject_class; + + parent_class = g_type_class_peek_parent (klass); + + gobject_class = G_OBJECT_CLASS (klass); + gobject_class->finalize = thunar_file_finalize; + gobject_class->get_property = thunar_file_get_property; + + /** + * ThunarFile:display-name: + * + * The displayable name of the this file in the UTF-8 encoding. + **/ + g_object_class_install_property (gobject_class, + PROP_DISPLAY_NAME, + g_param_spec_string ("display-name", + _("Displayable file name"), + _("The displayable file name in UTF-8 encoding"), + NULL, + G_PARAM_READABLE)); + + /** + * ThunarFile:mime-info: + * + * The MIME type information for this file. + **/ + g_object_class_install_property (gobject_class, + PROP_MIME_INFO, + g_param_spec_object ("mime-info", + _("MIME info"), + _("The MIME info for this file"), + EXO_TYPE_MIME_INFO, + G_PARAM_READABLE)); + + /** + * ThunarFile:path: + * + * The absolute path to this file. + **/ + g_object_class_install_property (gobject_class, + PROP_URI, + g_param_spec_object ("uri", + _("File URI"), + _("The URI describing the location of the file"), + THUNAR_VFS_TYPE_URI, + G_PARAM_READABLE)); + + /** + * ThunarFile:changed: + * @file : the #ThunarFile instance. + * + * Emitted whenever the system notices a change on this @file. + **/ + file_signals[CHANGED] = + g_signal_new ("changed", + G_TYPE_FROM_CLASS (gobject_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (ThunarFileClass, changed), + NULL, NULL, + g_cclosure_marshal_VOID__POINTER, + G_TYPE_NONE, 0); +} + + + +static void +thunar_file_init (ThunarFile *file) +{ + g_return_if_fail (THUNAR_IS_FILE (file)); + + thunar_vfs_info_init (&file->info); +} + + + +static void +thunar_file_finalize (GObject *object) +{ + ThunarFile *file = THUNAR_FILE (object); + + g_return_if_fail (THUNAR_IS_FILE (file)); + + /* free the mime info */ + if (G_LIKELY (file->mime_info != NULL)) + g_object_unref (G_OBJECT (file->mime_info)); + + /* reset the vfs info (freeing the specific data) */ + //thunar_vfs_info_drop_from_cache (&file->info); + thunar_vfs_info_reset (&file->info); + + g_free (file->display_name); + + G_OBJECT_CLASS (parent_class)->finalize (object); +} + + + +static void +thunar_file_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + ThunarFile *file = THUNAR_FILE (object); + + switch (prop_id) + { + case PROP_DISPLAY_NAME: + g_value_set_string (value, thunar_file_get_display_name (file)); + break; + + case PROP_MIME_INFO: + g_value_set_object (value, thunar_file_get_mime_info (file)); + break; + + case PROP_URI: + g_value_set_object (value, thunar_file_get_uri (file)); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + + + +/** + * thunar_file_get_for_uri: + * @uri : an #ThunarVfsURI instance. + * @error : error return location. + * + * Tries to query the file referred to by @uri. Returns %NULL + * if the file could not be queried and @error will point + * to an error describing the problem, else the #ThunarFile + * instance will be returned, which needs to freed using + * #g_object_unref() when no longer needed. + * + * Note that this function is not thread-safe and may only + * be called from the main thread. + * + * Return value: the #ThunarFile instance or %NULL on error. + **/ +ThunarFile* +thunar_file_get_for_uri (ThunarVfsURI *uri, + GError **error) +{ + ThunarFile *file; + + g_return_val_if_fail (THUNAR_VFS_IS_URI (uri), NULL); + + /* allocate the new file object */ + file = g_object_new (THUNAR_TYPE_FILE, NULL); + file->display_name = thunar_vfs_uri_get_display_name (uri); + + /* drop the floating reference */ + g_object_ref (G_OBJECT (file)); + gtk_object_sink (GTK_OBJECT (file)); + + /* query the file info */ + if (!thunar_vfs_info_query (&file->info, uri, error)) + { + g_object_unref (G_OBJECT (file)); + return NULL; + } + + /* watch this file for changes */ + //thunar_vfs_info_add_to_cache (&file->info); + + return file; +} + + + +/** + * thunar_file_get_display_name: + * @file : a #ThunarFile instance. + * + * Returns the @file name in the UTF-8 encoding, which is + * suitable for displaying the file name in the GUI. + * + * Return value: the @file name suitable for display. + **/ +const gchar* +thunar_file_get_display_name (ThunarFile *file) +{ + g_return_val_if_fail (THUNAR_IS_FILE (file), NULL); + return file->display_name; +} + + + +/** + * thunar_file_get_mime_info: + * @file : a #ThunarFile instance. + * + * Returns the MIME type information for the given @file object. This + * function may return %NULL if it is unable to determine a MIME type. + * + * Note, that there's no reference taken for the caller on the + * returned #ExoMimeInfo, so if you need the object for a longer + * period, you'll need to take a reference yourself using the + * #g_object_ref() function. + * + * Return value: the MIME type or %NULL. + **/ +ExoMimeInfo* +thunar_file_get_mime_info (ThunarFile *file) +{ + g_return_val_if_fail (THUNAR_IS_FILE (file), NULL); + + /* determine the MIME type on-demand */ + if (G_UNLIKELY (file->mime_info == NULL)) + file->mime_info = thunar_vfs_info_get_mime_info (&file->info); + + return file->mime_info; +} + + + +/** + * thunar_file_get_uri: + * @file : a #ThunarFile instance. + * + * Returns the #ThunarVfsURI, that refers to the location of the @file. + * + * This method cannot return %NULL, unless there's a bug in the + * application. So you should never check the returned value for + * a possible %NULL pointer, except in the context of a #g_return_if_fail() + * or #g_assert() macro, which will not be compiled into the final + * binary. + * + * Note, that there's no reference taken for the caller on the + * returned #ThunarVfsURI, so if you need the object for a longer + * period, you'll need to take a reference yourself using the + * #g_object_ref() function. + * + * Return value: the URI to the @file. + **/ +ThunarVfsURI* +thunar_file_get_uri (ThunarFile *file) +{ + g_return_val_if_fail (THUNAR_IS_FILE (file), NULL); + return file->info.uri; +} + + + +/** + * thunar_file_get_mode_string: + * @file : a #ThunarFile instance. + * + * Returns the mode of @file as text. You'll need to free + * the result using #g_free() when you're done with it. + * + * Return value: the mode of @file as string. + **/ +gchar* +thunar_file_get_mode_string (ThunarFile *file) +{ + ThunarVfsFileMode mode; + ThunarVfsFileType type; + gchar *text; + + g_return_val_if_fail (THUNAR_IS_FILE (file), NULL); + + mode = file->info.mode; + type = file->info.type; + text = g_new (gchar, 11); + + /* file type */ + switch (type) + { + case THUNAR_VFS_FILE_TYPE_SOCKET: text[0] = 's'; break; + case THUNAR_VFS_FILE_TYPE_SYMLINK: text[0] = 'l'; break; + case THUNAR_VFS_FILE_TYPE_REGULAR: text[0] = '-'; break; + case THUNAR_VFS_FILE_TYPE_BLOCKDEV: text[0] = 'b'; break; + case THUNAR_VFS_FILE_TYPE_DIRECTORY: text[0] = 'd'; break; + case THUNAR_VFS_FILE_TYPE_CHARDEV: text[0] = 'c'; break; + case THUNAR_VFS_FILE_TYPE_FIFO: text[0] = 'f'; break; + default: g_assert_not_reached (); + } + + /* permission flags */ + text[1] = (mode & THUNAR_VFS_FILE_MODE_USR_READ) ? 'r' : '-'; + text[2] = (mode & THUNAR_VFS_FILE_MODE_USR_WRITE) ? 'w' : '-'; + text[3] = (mode & THUNAR_VFS_FILE_MODE_USR_EXEC) ? 'x' : '-'; + text[4] = (mode & THUNAR_VFS_FILE_MODE_GRP_READ) ? 'r' : '-'; + text[5] = (mode & THUNAR_VFS_FILE_MODE_GRP_WRITE) ? 'w' : '-'; + text[6] = (mode & THUNAR_VFS_FILE_MODE_GRP_EXEC) ? 'x' : '-'; + text[7] = (mode & THUNAR_VFS_FILE_MODE_OTH_READ) ? 'r' : '-'; + text[8] = (mode & THUNAR_VFS_FILE_MODE_OTH_WRITE) ? 'w' : '-'; + text[9] = (mode & THUNAR_VFS_FILE_MODE_OTH_EXEC) ? 'x' : '-'; + + /* special flags */ + if (G_UNLIKELY (mode & THUNAR_VFS_FILE_MODE_SUID)) + text[3] = 's'; + if (G_UNLIKELY (mode & THUNAR_VFS_FILE_MODE_SGID)) + text[6] = 's'; + if (G_UNLIKELY (mode & THUNAR_VFS_FILE_MODE_STICKY)) + text[9] = 't'; + + text[10] = '\0'; + + return text; +} + + + +/** + * thunar_file_get_size_string: + * @file : a #ThunarFile instance. + * + * Returns the size of the file as text in a human readable + * format. You'll need to free the result using #g_free() + * if you're done with it. + * + * Return value: the size of @file in a human readable + * format. + **/ +gchar* +thunar_file_get_size_string (ThunarFile *file) +{ + g_return_val_if_fail (THUNAR_IS_FILE (file), NULL); + return thunar_vfs_humanize_size (file->info.size, NULL, 0); +} + + + +/** + * thunar_file_load_icon: + * @file : a #ThunarFile instance. + * @size : the icon size in pixels. + * + * TODO: We need to perform some kind of caching, esp. on + * common MIME icons. + * + * You need to call #g_object_unref() on the returned icon + * when you don't need it any longer. + * + * Return value: the icon for @file at @size. + **/ +GdkPixbuf* +thunar_file_load_icon (ThunarFile *file, + gint size) +{ + GtkIconTheme *icon_theme; + GtkIconInfo *icon_info; + ExoMimeInfo *mime_info; + GdkPixbuf *icon = NULL; + GdkPixbuf *tmp; + + g_return_val_if_fail (THUNAR_IS_FILE (file), NULL); + + icon_theme = gtk_icon_theme_get_default (); + + mime_info = thunar_file_get_mime_info (file); + if (G_LIKELY (mime_info != NULL)) + { + icon_info = exo_mime_info_lookup_icon (mime_info, icon_theme, size, 0); + if (G_LIKELY (icon_info != NULL)) + { + icon = gtk_icon_info_load_icon (icon_info, NULL); + gtk_icon_info_free (icon_info); + } + } + + if (G_UNLIKELY (icon == NULL)) + { + tmp = gdk_pixbuf_new_from_inline (sizeof (fallback_icon), + fallback_icon, FALSE, NULL); + icon = exo_gdk_pixbuf_scale_ratio (tmp, size); + g_object_unref (G_OBJECT (tmp)); + } + + return icon; +} + + + +/** + * thunar_file_is_hidden: + * @file : a #ThunarFile instance. + * + * Checks whether @file can be considered a hidden file. + * + * Return value: %TRUE if @file is a hidden file, else %FALSE. + **/ +gboolean +thunar_file_is_hidden (ThunarFile *file) +{ + const gchar *p; + + g_return_val_if_fail (THUNAR_IS_FILE (file), FALSE); + g_return_val_if_fail (file->display_name != NULL, FALSE); + + p = file->display_name; + if (*p != '.' && *p != '\0') + { + for (; p[1] != '\0'; ++p) + ; + return (*p == '~'); + } + + return TRUE; +} + + + diff --git a/thunar/thunar-file.h b/thunar/thunar-file.h new file mode 100644 index 0000000000000000000000000000000000000000..3692a4b5cb01f4abb42d38f3a59b27f9bc20bb10 --- /dev/null +++ b/thunar/thunar-file.h @@ -0,0 +1,81 @@ +/* $Id$ */ +/*- + * Copyright (c) 2005 Benedikt Meurer <benny@xfce.org> + * + * This program 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 2 of the License, or (at your option) + * any later version. + * + * This program 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 + * this program; if not, write to the Free Software Foundation, Inc., 59 Temple + * Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef __THUNAR_FILE_H__ +#define __THUNAR_FILE_H__ + +#include <thunar-vfs/thunar-vfs.h> + +G_BEGIN_DECLS; + +typedef struct _ThunarFileClass ThunarFileClass; +typedef struct _ThunarFile ThunarFile; + +#define THUNAR_TYPE_FILE (thunar_file_get_type ()) +#define THUNAR_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), THUNAR_TYPE_FILE, ThunarFile)) +#define THUNAR_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), THUNAR_TYPE_FILE, ThunarFileClass)) +#define THUNAR_IS_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), THUNAR_TYPE_FILE)) +#define THUNAR_IS_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), THUNAR_TYPE_FILE)) +#define THUNAR_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), THUNAR_TYPE_FILE, ThunarFileClass)) + +struct _ThunarFileClass +{ + GtkObjectClass __parent__; + + void (*changed) (ThunarFile *file); +}; + +struct _ThunarFile +{ + GtkObject __parent__; + + /*< private >*/ + gchar *display_name; + ExoMimeInfo *mime_info; + ThunarVfsInfo info; +}; + + +GType thunar_file_get_type (void) G_GNUC_CONST; + +ThunarFile *thunar_file_get_for_uri (ThunarVfsURI *uri, + GError **error); + +const gchar *thunar_file_get_display_name (ThunarFile *file); +ExoMimeInfo *thunar_file_get_mime_info (ThunarFile *file); +ThunarVfsURI *thunar_file_get_uri (ThunarFile *file); + +gchar *thunar_file_get_mode_string (ThunarFile *file); +gchar *thunar_file_get_size_string (ThunarFile *file); + +gboolean thunar_file_is_hidden (ThunarFile *file); + +GdkPixbuf *thunar_file_load_icon (ThunarFile *file, + gint size); + +#define thunar_file_get_name(file) (thunar_vfs_uri_get_name (THUNAR_FILE (file)->info.uri)) +#define thunar_file_get_mode(file) (THUNAR_FILE (file)->info.mode) +#define thunar_file_get_size(file) (THUNAR_FILE (file)->info.size) + +#define thunar_file_is_directory(file) (THUNAR_FILE (file)->info.type == THUNAR_VFS_FILE_TYPE_DIRECTORY) +#define thunar_file_is_symlink(file) (THUNAR_FILE (file)->info.flags & THUNAR_VFS_FILE_FLAGS_SYMLINK) + +G_END_DECLS; + +#endif /* !__THUNAR_FILE_H__ */ diff --git a/thunar/thunar-folder.c b/thunar/thunar-folder.c new file mode 100644 index 0000000000000000000000000000000000000000..816f9e3562d2faa6b1b849b994f7c9a176d40628 --- /dev/null +++ b/thunar/thunar-folder.c @@ -0,0 +1,472 @@ +/* $Id$ */ +/*- + * Copyright (c) 2005 Benedikt Meurer <benny@xfce.org> + * + * This program 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 2 of the License, or (at your option) + * any later version. + * + * This program 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 + * this program; if not, write to the Free Software Foundation, Inc., 59 Temple + * Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#ifdef HAVE_MEMORY_H +#include <memory.h> +#endif +#ifdef HAVE_STRING_H +#include <string.h> +#endif + +#include <thunar/thunar-folder.h> + + + +enum +{ + PROP_0, + PROP_CORRESPONDING_FILE, + PROP_FILES, +}; + +enum +{ + FILES_ADDED, + LAST_SIGNAL, +}; + + + +static void thunar_folder_class_init (ThunarFolderClass *klass); +static void thunar_folder_init (ThunarFolder *folder); +static void thunar_folder_finalize (GObject *object); +static void thunar_folder_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); +static gboolean thunar_folder_rescan (ThunarFolder *folder, + GError **error); +static void thunar_folder_corresponding_file_changed (ThunarFile *file, + ThunarFolder *folder); +static void thunar_folder_corresponding_file_destroy (ThunarFile *file, + ThunarFolder *folder); +static void thunar_folder_file_destroy (ThunarFile *file, + ThunarFolder *folder); + + + +struct _ThunarFolderClass +{ + GtkObjectClass __parent__; + + void (*files_added) (ThunarFolder *folder, GSList *files); +}; + +struct _ThunarFolder +{ + GtkObject __parent__; + + ThunarFile *corresponding_file; + GSList *files; +}; + + + +static GObjectClass *parent_class; +static GQuark folder_quark = 0; +static guint folder_signals[LAST_SIGNAL]; + + + +G_DEFINE_TYPE (ThunarFolder, thunar_folder, GTK_TYPE_OBJECT); + + + +static void +thunar_folder_class_init (ThunarFolderClass *klass) +{ + GObjectClass *gobject_class; + + parent_class = g_type_class_peek_parent (klass); + + gobject_class = G_OBJECT_CLASS (klass); + gobject_class->finalize = thunar_folder_finalize; + gobject_class->get_property = thunar_folder_get_property; + + /** + * ThunarFolder:corresponding-file: + * + * The #ThunarFile corresponding to this #ThunarFolder instance. + **/ + g_object_class_install_property (gobject_class, + PROP_CORRESPONDING_FILE, + g_param_spec_object ("corresponding-file", + _("Corresponding file"), + _("The file corresponding to this folder"), + THUNAR_TYPE_FILE, + G_PARAM_READABLE)); + + /** + * ThunarFolder:files: + * + * The list of files currently known for the #ThunarFolder. + **/ + g_object_class_install_property (gobject_class, + PROP_FILES, + g_param_spec_pointer ("files", + _("Files in the folder"), + _("The list of files currently known for the folder"), + G_PARAM_READABLE)); + + /** + * ThunarFolder::files-added: + * + * Invoked whenever new files have been added to the folder (also + * during loading state). + **/ + folder_signals[FILES_ADDED] = + g_signal_new ("files-added", + G_TYPE_FROM_CLASS (gobject_class), + G_SIGNAL_RUN_LAST, + G_STRUCT_OFFSET (ThunarFolderClass, files_added), + NULL, NULL, + g_cclosure_marshal_VOID__POINTER, + G_TYPE_NONE, 1, G_TYPE_POINTER); +} + + + +static void +thunar_folder_init (ThunarFolder *folder) +{ +} + + + +static void +thunar_folder_finalize (GObject *object) +{ + ThunarFolder *folder = THUNAR_FOLDER (object); + GSList *lp; + + g_return_if_fail (THUNAR_IS_FOLDER (folder)); + + /* disconnect from the corresponding file */ + if (G_LIKELY (folder->corresponding_file != NULL)) + { + g_signal_handlers_disconnect_matched (G_OBJECT (folder->corresponding_file), + G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, folder); + + g_object_set_qdata (G_OBJECT (folder->corresponding_file), + folder_quark, NULL); + g_object_unref (G_OBJECT (folder->corresponding_file)); + } + + /* release references to the files */ + for (lp = folder->files; lp != NULL; lp = lp->next) + { + g_signal_handlers_disconnect_matched (G_OBJECT (lp->data), + G_SIGNAL_MATCH_DATA, + 0, 0, NULL, NULL, folder); + g_object_unref (G_OBJECT (lp->data)); + } + g_slist_free (folder->files); + + G_OBJECT_CLASS (parent_class)->finalize (object); +} + + + +static void +thunar_folder_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + ThunarFolder *folder = THUNAR_FOLDER (object); + + switch (prop_id) + { + case PROP_CORRESPONDING_FILE: + g_value_set_object (value, folder->corresponding_file); + break; + + case PROP_FILES: + g_value_set_pointer (value, folder->files); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + + + +static gboolean +thunar_folder_rescan (ThunarFolder *folder, + GError **error) +{ + ThunarVfsURI *folder_uri; + ThunarVfsURI *file_uri; + const gchar *name; + ThunarFile *file; + GSList *nfiles = NULL; + GSList *ofiles; + GSList *lp; + GDir *dp; + + /* remember the previously known items */ + ofiles = folder->files; + folder->files = NULL; + + folder_uri = thunar_file_get_uri (folder->corresponding_file); + dp = g_dir_open (thunar_vfs_uri_get_path (folder_uri), 0, error); + if (G_UNLIKELY (dp == NULL)) + return FALSE; + + for (;;) + { + name = g_dir_read_name (dp); + if (G_UNLIKELY (name == NULL)) + break; + + /* ignore ".." and "." entries */ + if (G_UNLIKELY (name[0] == '.' && (name[1] == '\0' || + (name[1] == '.' && name[2] == '\0')))) + continue; + + /* check if the item was already present */ + for (lp = ofiles; lp != NULL; lp = lp->next) + if (exo_str_is_equal (thunar_file_get_name (lp->data), name)) + break; + + if (lp != NULL) + { + /* the file was already present, relink to active items list */ + ofiles = g_slist_remove_link (ofiles, lp); + lp->next = folder->files; + folder->files = lp; + } + else + { + /* we discovered a new file */ + file_uri = thunar_vfs_uri_relative (folder_uri, name); + file = thunar_file_get_for_uri (file_uri, NULL); + g_object_unref (G_OBJECT (file_uri)); + + if (G_UNLIKELY (file == NULL)) + continue; + + nfiles = g_slist_prepend (nfiles, file); + + g_signal_connect (G_OBJECT (file), "destroy", + G_CALLBACK (thunar_folder_file_destroy), folder); + } + } + + g_dir_close (dp); + + /* notify listeners about removed files */ + for (lp = ofiles; lp != NULL; lp = lp->next) + { + file = THUNAR_FILE (lp->data); + + g_signal_handlers_disconnect_matched + (G_OBJECT (file), G_SIGNAL_MATCH_DATA | G_SIGNAL_MATCH_FUNC, + 0, 0, NULL, thunar_folder_file_destroy, folder); + gtk_object_destroy (GTK_OBJECT (file)); + g_object_unref (G_OBJECT (file)); + } + g_slist_free (ofiles); + + /* notify listening parties about added files and append the + * new files to our internal file list. + */ + if (G_LIKELY (nfiles != NULL)) + { + folder->files = g_slist_concat (folder->files, nfiles); + g_signal_emit (G_OBJECT (folder), folder_signals[FILES_ADDED], 0, nfiles); + } + + g_object_notify (G_OBJECT (folder), "files"); + + return TRUE; +} + + + +static void +thunar_folder_corresponding_file_changed (ThunarFile *file, + ThunarFolder *folder) +{ + // TODO: Rescan +} + + + +static void +thunar_folder_corresponding_file_destroy (ThunarFile *file, + ThunarFolder *folder) +{ + g_return_if_fail (THUNAR_IS_FILE (file)); + g_return_if_fail (THUNAR_IS_FOLDER (folder)); + g_return_if_fail (folder->corresponding_file == file); + + // TODO: Error or Destroy? +} + + + +static void +thunar_folder_file_destroy (ThunarFile *file, + ThunarFolder *folder) +{ + g_return_if_fail (THUNAR_IS_FILE (file)); + g_return_if_fail (THUNAR_IS_FOLDER (folder)); + g_return_if_fail (g_slist_find (folder->files, file) != NULL); + + g_signal_handlers_disconnect_matched + (G_OBJECT (file), G_SIGNAL_MATCH_DATA | G_SIGNAL_MATCH_FUNC, + 0, 0, NULL, thunar_folder_file_destroy, folder); + folder->files = g_slist_remove (folder->files, file); + g_object_unref (G_OBJECT (file)); +} + + + +/** + * thunar_folder_get_for_file: + * @file : a #ThunarFile instance. + * @error : return location for errors. + * + * This function automatically takes a reference on the returned + * #ThunarFile for the caller, which means, you'll have to call + * #g_object_unref() on the returned object when you are done + * with it. + * + * Return value: the folder corresponding to @file or %NULL in case + * of an error. + **/ +ThunarFolder* +thunar_folder_get_for_file (ThunarFile *file, + GError **error) +{ + ThunarFolder *folder; + + g_return_val_if_fail (THUNAR_IS_FILE (file), NULL); + + if (G_UNLIKELY (folder_quark == 0)) + folder_quark = g_quark_from_static_string ("thunar-folder"); + + folder = g_object_get_qdata (G_OBJECT (file), folder_quark); + if (folder != NULL) + { + g_object_ref (G_OBJECT (folder)); + } + else + { + /* allocate the new instance */ + folder = g_object_new (THUNAR_TYPE_FOLDER, NULL); + folder->corresponding_file = file; + g_object_ref (G_OBJECT (file)); + + /* drop the floating reference */ + g_object_ref (G_OBJECT (folder)); + gtk_object_sink (GTK_OBJECT (folder)); + + g_signal_connect (G_OBJECT (file), "changed", G_CALLBACK (thunar_folder_corresponding_file_changed), folder); + g_signal_connect (G_OBJECT (file), "destroy", G_CALLBACK (thunar_folder_corresponding_file_destroy), folder); + + g_object_set_qdata (G_OBJECT (file), folder_quark, folder); + + /* try to scan the new folder */ + if (G_UNLIKELY (!thunar_folder_rescan (folder, error))) + { + g_object_unref (G_OBJECT (folder)); + return NULL; + } + } + + return folder; +} + + + +/** + * thunar_folder_get_for_uri: + * @uri : a #ThunarVfsURI. + * @error : return location for errors or %NULL. + * + * Wrapper function to #thunar_folder_get_for_file(). + * + * Return value: the #ThunarFolder instance or %NULL in case of an error. + **/ +ThunarFolder* +thunar_folder_get_for_uri (ThunarVfsURI *uri, + GError **error) +{ + ThunarFolder *folder = NULL; + ThunarFile *file; + + g_return_val_if_fail (THUNAR_VFS_IS_URI (uri), NULL); + + file = thunar_file_get_for_uri (uri, error); + if (G_LIKELY (file != NULL)) + { + folder = thunar_folder_get_for_file (file, error); + g_object_unref (G_OBJECT (file)); + } + return folder; +} + + + +/** + * thunar_folder_get_corresponding_file: + * @folder : a #ThunarFolder instance. + * + * Returns the #ThunarFile corresponding to this @folder. + * + * No reference is taken on the returned #ThunarFile for + * the caller, so if you need a persistent reference to + * the file, you'll have to call #g_object_ref() yourself. + * + * Return value: the #ThunarFile corresponding to @folder. + **/ +ThunarFile* +thunar_folder_get_corresponding_file (ThunarFolder *folder) +{ + g_return_val_if_fail (THUNAR_IS_FOLDER (folder), NULL); + return folder->corresponding_file; +} + + + +/** + * thunar_folder_get_files: + * @folder : a #ThunarFolder instance. + * + * Returns the list of files currently known for @folder. + * The returned list is owned by @folder and may not be freed! + * + * Return value: the list of #ThunarFiles for @folder. + **/ +GSList* +thunar_folder_get_files (ThunarFolder *folder) +{ + g_return_val_if_fail (THUNAR_IS_FOLDER (folder), NULL); + return folder->files; +} + + diff --git a/thunar/thunar-folder.h b/thunar/thunar-folder.h new file mode 100644 index 0000000000000000000000000000000000000000..d75a8a864f2c823a42f91ef97c5d0d01d1f52532 --- /dev/null +++ b/thunar/thunar-folder.h @@ -0,0 +1,50 @@ +/* $Id$ */ +/*- + * Copyright (c) 2005 Benedikt Meurer <benny@xfce.org> + * + * This program 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 2 of the License, or (at your option) + * any later version. + * + * This program 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 + * this program; if not, write to the Free Software Foundation, Inc., 59 Temple + * Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef __THUNAR_FOLDER_H__ +#define __THUNAR_FOLDER_H__ + +#include <thunar/thunar-file.h> + +G_BEGIN_DECLS; + +typedef struct _ThunarFolderClass ThunarFolderClass; +typedef struct _ThunarFolder ThunarFolder; + +#define THUNAR_TYPE_FOLDER (thunar_folder_get_type ()) +#define THUNAR_FOLDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), THUNAR_TYPE_FOLDER, ThunarFolder)) +#define THUNAR_FOLDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), THUNAR_TYPE_FOLDER, ThunarFolderClass)) +#define THUNAR_IS_FOLDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), THUNAR_TYPE_FOLDER)) +#define THUNAR_IS_FOLDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), THUNAR_TYPE_FOLDER)) +#define THUNAR_FOLDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), THUNAR_TYPE_FOLDER, ThunarFolderClass)) + +GType thunar_folder_get_type (void) G_GNUC_CONST; + +ThunarFolder *thunar_folder_get_for_file (ThunarFile *file, + GError **error); +ThunarFolder *thunar_folder_get_for_uri (ThunarVfsURI *uri, + GError **error); + +ThunarFile *thunar_folder_get_corresponding_file (ThunarFolder *folder); + +GSList *thunar_folder_get_files (ThunarFolder *folder); + +G_END_DECLS; + +#endif /* !__THUNAR_FOLDER_H__ */ diff --git a/thunar/thunar-list-model.c b/thunar/thunar-list-model.c new file mode 100644 index 0000000000000000000000000000000000000000..2ef3853baf3dd717ace43ceb3b23b04d1647dbb2 --- /dev/null +++ b/thunar/thunar-list-model.c @@ -0,0 +1,1631 @@ +/* $Id$ */ +/*- + * Copyright (c) 2004-2005 Benedikt Meurer <benny@xfce.org> + * + * This program 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 2 of the License, or (at your option) + * any later version. + * + * This program 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 + * this program; if not, write to the Free Software Foundation, Inc., 59 Temple + * Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#ifdef HAVE_MEMORY_H +#include <memory.h> +#endif +#ifdef HAVE_STRING_H +#include <string.h> +#endif + +#include <thunar/thunar-list-model.h> + + + +enum +{ + PROP_0, + PROP_FOLDER, + PROP_FOLDERS_FIRST, + PROP_NUM_FILES, + PROP_SHOW_HIDDEN, +}; + +typedef struct _Row Row; +typedef struct _SortTuple SortTuple; + + + +static void thunar_list_model_init (ThunarListModel *store); +static void thunar_list_model_class_init (ThunarListModelClass *klass); +static void thunar_list_model_tree_model_init (GtkTreeModelIface *iface); +static void thunar_list_model_drag_source_init (GtkTreeDragSourceIface *iface); +static void thunar_list_model_drag_dest_init (GtkTreeDragDestIface *iface); +static void thunar_list_model_sortable_init (GtkTreeSortableIface *iface); +static void thunar_list_model_dispose (GObject *object); +static void thunar_list_model_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec); +static void thunar_list_model_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec); +static GtkTreeModelFlags thunar_list_model_get_flags (GtkTreeModel *model); +static gint thunar_list_model_get_n_columns (GtkTreeModel *model); +static GType thunar_list_model_get_column_type (GtkTreeModel *model, + gint index); +static gboolean thunar_list_model_get_iter (GtkTreeModel *model, + GtkTreeIter *iter, + GtkTreePath *path); +static GtkTreePath *thunar_list_model_get_path (GtkTreeModel *model, + GtkTreeIter *iter); +static void thunar_list_model_get_value (GtkTreeModel *model, + GtkTreeIter *iter, + gint column, + GValue *value); +static gboolean thunar_list_model_iter_next (GtkTreeModel *model, + GtkTreeIter *iter); +static gboolean thunar_list_model_iter_children (GtkTreeModel *model, + GtkTreeIter *iter, + GtkTreeIter *parent); +static gboolean thunar_list_model_iter_has_child (GtkTreeModel *model, + GtkTreeIter *iter); +static gint thunar_list_model_iter_n_children (GtkTreeModel *model, + GtkTreeIter *iter); +static gboolean thunar_list_model_iter_nth_child (GtkTreeModel *model, + GtkTreeIter *iter, + GtkTreeIter *parent, + gint n); +static gboolean thunar_list_model_iter_parent (GtkTreeModel *model, + GtkTreeIter *iter, + GtkTreeIter *child); +static gboolean thunar_list_model_row_draggable (GtkTreeDragSource *source, + GtkTreePath *path); +static gboolean thunar_list_model_drag_data_delete (GtkTreeDragSource *source, + GtkTreePath *path); +static gboolean thunar_list_model_drag_data_get (GtkTreeDragSource *source, + GtkTreePath *path, + GtkSelectionData *data); +static gboolean thunar_list_model_drag_data_received (GtkTreeDragDest *dest, + GtkTreePath *path, + GtkSelectionData *data); +static gboolean thunar_list_model_row_drop_possible (GtkTreeDragDest *dest, + GtkTreePath *path, + GtkSelectionData *data); +static gboolean thunar_list_model_get_sort_column_id (GtkTreeSortable *sortable, + gint *sort_column_id, + GtkSortType *order); +static void thunar_list_model_set_sort_column_id (GtkTreeSortable *sortable, + gint sort_column_id, + GtkSortType order); +static void thunar_list_model_set_default_sort_func (GtkTreeSortable *sortable, + GtkTreeIterCompareFunc func, + gpointer data, + GtkDestroyNotify destroy); +static void thunar_list_model_set_sort_func (GtkTreeSortable *sortable, + gint sort_column_id, + GtkTreeIterCompareFunc func, + gpointer data, + GtkDestroyNotify destroy); +static gboolean thunar_list_model_has_default_sort_func (GtkTreeSortable *sortable); +static gint thunar_list_model_cmp (ThunarListModel *store, + ThunarFile *a, + ThunarFile *b); +static gint thunar_list_model_cmp_array (gconstpointer a, + gconstpointer b, + gpointer user_data); +static gint thunar_list_model_cmp_slist (gconstpointer a, + gconstpointer b, + gpointer user_data); +static gboolean thunar_list_model_remove (ThunarListModel *store, + GtkTreeIter *iter, + gboolean silently); +static void thunar_list_model_sort (ThunarListModel *store); +static void thunar_list_model_file_changed (ThunarFile *file, + ThunarListModel *store); +static void thunar_list_model_file_destroy (ThunarFile *file, + ThunarListModel *store); +static void thunar_list_model_folder_destroy (ThunarFolder *folder, + ThunarListModel *store); +static void thunar_list_model_files_added (ThunarFolder *folder, + GSList *files, + ThunarListModel *store); +static gint sort_by_name (ThunarFile *a, + ThunarFile *b); +static gint sort_by_permissions (ThunarFile *a, + ThunarFile *b); +static gint sort_by_size (ThunarFile *a, + ThunarFile *b); + + + +struct _ThunarListModelClass +{ + GtkObjectClass __parent__; +}; + +struct _ThunarListModel +{ + GtkObject __parent__; + + guint stamp; + Row *rows; + guint nrows; + GSList *hidden; + ThunarFolder *folder; + gboolean show_hidden; + + gboolean sort_folders_first; + gint sort_sign; /* 1 = ascending, -1 descending */ + gint (*sort_func) (ThunarFile *a, + ThunarFile *b); +}; + +struct _Row +{ + ThunarFile *file; + guint changed_id; + guint destroy_id; + Row *next; +}; + +struct _SortTuple +{ + gint offset; + Row *row; +}; + + + +static GObjectClass *parent_class; +static GMemChunk *row_chunk; + + + +GType +thunar_list_model_get_type (void) +{ + static GType thunar_list_model_type = 0; + + if (G_UNLIKELY (!thunar_list_model_type)) + { + static const GTypeInfo thunar_list_model_info = + { + sizeof (ThunarListModelClass), + NULL, + NULL, + (GClassInitFunc) thunar_list_model_class_init, + NULL, + NULL, + sizeof (ThunarListModel), + 0, + (GInstanceInitFunc) thunar_list_model_init, + }; + + static const GInterfaceInfo tree_model_info = + { + (GInterfaceInitFunc) thunar_list_model_tree_model_init, + NULL, + NULL, + }; + + static const GInterfaceInfo drag_source_info = + { + (GInterfaceInitFunc) thunar_list_model_drag_source_init, + NULL, + NULL, + }; + + static const GInterfaceInfo drag_dest_info = + { + (GInterfaceInitFunc) thunar_list_model_drag_dest_init, + NULL, + NULL, + }; + + static const GInterfaceInfo sortable_info = + { + (GInterfaceInitFunc) thunar_list_model_sortable_init, + NULL, + NULL, + }; + + thunar_list_model_type = g_type_register_static (GTK_TYPE_OBJECT, + "ThunarListModel", + &thunar_list_model_info, + 0); + + g_type_add_interface_static (thunar_list_model_type, + GTK_TYPE_TREE_MODEL, + &tree_model_info); + g_type_add_interface_static (thunar_list_model_type, + GTK_TYPE_TREE_DRAG_SOURCE, + &drag_source_info); + g_type_add_interface_static (thunar_list_model_type, + GTK_TYPE_TREE_DRAG_DEST, + &drag_dest_info); + g_type_add_interface_static (thunar_list_model_type, + GTK_TYPE_TREE_SORTABLE, + &sortable_info); + } + + return thunar_list_model_type; +} + + + +static void +thunar_list_model_init (ThunarListModel *store) +{ + store->stamp = g_random_int (); + store->rows = NULL; + store->nrows = 0; + store->hidden = NULL; + store->folder = NULL; + store->show_hidden = FALSE; + + store->sort_folders_first = TRUE; + store->sort_sign = 1; + store->sort_func = sort_by_name; +} + + + +static void +thunar_list_model_class_init (ThunarListModelClass *klass) +{ + GObjectClass *gobject_class; + + parent_class = g_type_class_peek_parent (klass); + + gobject_class = G_OBJECT_CLASS (klass); + gobject_class->dispose = thunar_list_model_dispose; + gobject_class->get_property = thunar_list_model_get_property; + gobject_class->set_property = thunar_list_model_set_property; + + row_chunk = g_mem_chunk_new ("ThunarListModel::Row", + sizeof (Row), + sizeof (Row) * 128, + G_ALLOC_AND_FREE); + + /** + * ThunarListModel:folder: + * + * The folder presented by this #ThunarListModel. + **/ + g_object_class_install_property (gobject_class, + PROP_FOLDER, + g_param_spec_object ("folder", + _("Filer Vfs Folder"), + _("The stores folder"), + THUNAR_TYPE_FOLDER, + G_PARAM_READWRITE)); + + /** + * ThunarListModel::folders-first: + * + * Tells whether to always sort folders before other files. + **/ + g_object_class_install_property (gobject_class, + PROP_FOLDERS_FIRST, + g_param_spec_boolean ("folders-first", + _("Folders first"), + _("Folders first in sorting"), + TRUE, + G_PARAM_READWRITE)); + + /** + * ThunarListModel::num-files: + * + * The number of files in the folder presented by this #ThunarListModel. + **/ + g_object_class_install_property (gobject_class, + PROP_NUM_FILES, + g_param_spec_uint ("num-files", + _("Number of files"), + _("Number of visible files"), + 0, UINT_MAX, 0, + G_PARAM_READABLE)); + + /** + * ThunarListModel::show-hidden: + * + * Tells whether to include hidden (and backup) files. + **/ + g_object_class_install_property (gobject_class, + PROP_SHOW_HIDDEN, + g_param_spec_boolean ("show-hidden", + _("Show hidden"), + _("Whether to display hidden files"), + FALSE, + G_PARAM_READWRITE)); +} + + + +static void +thunar_list_model_tree_model_init (GtkTreeModelIface *iface) +{ + iface->get_flags = thunar_list_model_get_flags; + iface->get_n_columns = thunar_list_model_get_n_columns; + iface->get_column_type = thunar_list_model_get_column_type; + iface->get_iter = thunar_list_model_get_iter; + iface->get_path = thunar_list_model_get_path; + iface->get_value = thunar_list_model_get_value; + iface->iter_next = thunar_list_model_iter_next; + iface->iter_children = thunar_list_model_iter_children; + iface->iter_has_child = thunar_list_model_iter_has_child; + iface->iter_n_children = thunar_list_model_iter_n_children; + iface->iter_nth_child = thunar_list_model_iter_nth_child; + iface->iter_parent = thunar_list_model_iter_parent; +} + + + +static void +thunar_list_model_drag_source_init (GtkTreeDragSourceIface *iface) +{ + iface->row_draggable = thunar_list_model_row_draggable; + iface->drag_data_delete = thunar_list_model_drag_data_delete; + iface->drag_data_get = thunar_list_model_drag_data_get; +} + + + +static void +thunar_list_model_drag_dest_init (GtkTreeDragDestIface *iface) +{ + iface->drag_data_received = thunar_list_model_drag_data_received; + iface->row_drop_possible = thunar_list_model_row_drop_possible; +} + + + +static void +thunar_list_model_sortable_init (GtkTreeSortableIface *iface) +{ + iface->get_sort_column_id = thunar_list_model_get_sort_column_id; + iface->set_sort_column_id = thunar_list_model_set_sort_column_id; + iface->set_sort_func = thunar_list_model_set_sort_func; + iface->set_default_sort_func = thunar_list_model_set_default_sort_func; + iface->has_default_sort_func = thunar_list_model_has_default_sort_func; +} + + + +static void +thunar_list_model_dispose (GObject *object) +{ + ThunarListModel *store = THUNAR_LIST_MODEL (object); + + /* unlink from the folder (if any) */ + thunar_list_model_set_folder (store, NULL); + + G_OBJECT_CLASS (parent_class)->dispose (object); +} + + + +static void +thunar_list_model_get_property (GObject *object, + guint prop_id, + GValue *value, + GParamSpec *pspec) +{ + ThunarListModel *store = THUNAR_LIST_MODEL (object); + + switch (prop_id) + { + case PROP_FOLDER: + g_value_set_object (value, thunar_list_model_get_folder (store)); + break; + + case PROP_FOLDERS_FIRST: + g_value_set_boolean (value, thunar_list_model_get_folders_first (store)); + break; + + case PROP_NUM_FILES: + g_value_set_uint (value, thunar_list_model_get_num_files (store)); + break; + + case PROP_SHOW_HIDDEN: + g_value_set_boolean (value, thunar_list_model_get_show_hidden (store)); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + + + +static void +thunar_list_model_set_property (GObject *object, + guint prop_id, + const GValue *value, + GParamSpec *pspec) +{ + ThunarListModel *store = THUNAR_LIST_MODEL (object); + + switch (prop_id) + { + case PROP_FOLDER: + thunar_list_model_set_folder (store, g_value_get_object (value)); + break; + + case PROP_FOLDERS_FIRST: + thunar_list_model_set_folders_first (store, g_value_get_boolean (value)); + break; + + case PROP_SHOW_HIDDEN: + thunar_list_model_set_show_hidden (store, g_value_get_boolean (value)); + break; + + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + + + +static GtkTreeModelFlags +thunar_list_model_get_flags (GtkTreeModel *model) +{ + return GTK_TREE_MODEL_ITERS_PERSIST | GTK_TREE_MODEL_LIST_ONLY; +} + + + +static gint +thunar_list_model_get_n_columns (GtkTreeModel *model) +{ + return THUNAR_LIST_MODEL_N_COLUMNS; +} + + + +static GType +thunar_list_model_get_column_type (GtkTreeModel *model, + gint index) +{ + switch (index) + { + case THUNAR_LIST_MODEL_COLUMN_NAME: + return G_TYPE_STRING; + + case THUNAR_LIST_MODEL_COLUMN_ICON_SMALL: + return GDK_TYPE_PIXBUF; + + case THUNAR_LIST_MODEL_COLUMN_ICON_NORMAL: + return GDK_TYPE_PIXBUF; + + case THUNAR_LIST_MODEL_COLUMN_ICON_LARGE: + return GDK_TYPE_PIXBUF; + + case THUNAR_LIST_MODEL_COLUMN_PERMISSIONS: + return G_TYPE_STRING; + + case THUNAR_LIST_MODEL_COLUMN_SIZE: + return G_TYPE_STRING; + } + + g_assert_not_reached (); + return (GType) -1; +} + + + +static gboolean +thunar_list_model_get_iter (GtkTreeModel *model, + GtkTreeIter *iter, + GtkTreePath *path) +{ + ThunarListModel *store = THUNAR_LIST_MODEL (model); + gint index; + gint n; + Row *row; + + g_return_val_if_fail (THUNAR_IS_LIST_MODEL (store), FALSE); + g_return_val_if_fail (gtk_tree_path_get_depth (path) > 0, FALSE); + + index = gtk_tree_path_get_indices (path)[0]; + if (G_UNLIKELY (index >= store->nrows)) + return FALSE; + + for (n = 0, row = store->rows; n < index; ++n, row = row->next) + g_assert (row != NULL); + + iter->stamp = store->stamp; + iter->user_data = row; + + return TRUE; +} + + + +static GtkTreePath* +thunar_list_model_get_path (GtkTreeModel *model, + GtkTreeIter *iter) +{ + ThunarListModel *store = THUNAR_LIST_MODEL (model); + GtkTreePath *path; + gint index = 0; + Row *row; + + g_return_val_if_fail (THUNAR_IS_LIST_MODEL (store), NULL); + g_return_val_if_fail (iter->stamp == store->stamp, NULL); + + for (row = store->rows; row != NULL; ++index, row = row->next) + if (row == iter->user_data) + break; + + if (G_UNLIKELY (row == NULL)) + return NULL; + + path = gtk_tree_path_new (); + gtk_tree_path_append_index (path, index); + return path; +} + + + +static void +thunar_list_model_get_value (GtkTreeModel *model, + GtkTreeIter *iter, + gint column, + GValue *value) +{ + GdkPixbuf *icon; + Row *row; + + g_return_if_fail (THUNAR_IS_LIST_MODEL (model)); + g_return_if_fail (iter->stamp == (THUNAR_LIST_MODEL (model))->stamp); + + row = (Row *) iter->user_data; + + switch (column) + { + case THUNAR_LIST_MODEL_COLUMN_NAME: + g_value_init (value, G_TYPE_STRING); + if (G_LIKELY (row != NULL)) + g_value_set_string (value, thunar_file_get_display_name (row->file)); + break; + + case THUNAR_LIST_MODEL_COLUMN_ICON_SMALL: + g_value_init (value, GDK_TYPE_PIXBUF); + if (G_LIKELY (row != NULL)) + { + // FIXME: don't use pixel sizes here + icon = thunar_file_load_icon (row->file, 16); + g_value_set_object (value, icon); + g_object_unref (G_OBJECT (icon)); + } + break; + + case THUNAR_LIST_MODEL_COLUMN_ICON_NORMAL: + g_value_init (value, GDK_TYPE_PIXBUF); + if (G_LIKELY (row != NULL)) + { + // FIXME: don't use pixel sizes here + icon = thunar_file_load_icon (row->file, 48); + g_value_set_object (value, icon); + g_object_unref (G_OBJECT (icon)); + } + break; + + case THUNAR_LIST_MODEL_COLUMN_ICON_LARGE: + g_value_init (value, GDK_TYPE_PIXBUF); + if (G_LIKELY (row != NULL)) + { + // FIXME: don't use pixel sizes here + icon = thunar_file_load_icon (row->file, 64); + g_value_set_object (value, icon); + g_object_unref (G_OBJECT (icon)); + } + break; + + case THUNAR_LIST_MODEL_COLUMN_PERMISSIONS: + g_value_init (value, G_TYPE_STRING); + if (G_LIKELY (row != NULL)) + g_value_take_string (value, thunar_file_get_mode_string (row->file)); + break; + + case THUNAR_LIST_MODEL_COLUMN_SIZE: + g_value_init (value, G_TYPE_STRING); + if (G_LIKELY (row != NULL)) + g_value_take_string (value, thunar_file_get_size_string (row->file)); + break; + + default: + g_assert_not_reached (); + } +} + + + +static gboolean +thunar_list_model_iter_next (GtkTreeModel *model, + GtkTreeIter *iter) +{ + g_return_val_if_fail (THUNAR_IS_LIST_MODEL (model), FALSE); + g_return_val_if_fail (iter->stamp == (THUNAR_LIST_MODEL (model))->stamp, FALSE); + + iter->user_data = ((Row *) iter->user_data)->next; + return (iter->user_data != NULL); +} + + + +static gboolean +thunar_list_model_iter_children (GtkTreeModel *model, + GtkTreeIter *iter, + GtkTreeIter *parent) +{ + ThunarListModel *store = THUNAR_LIST_MODEL (model); + + g_return_val_if_fail (THUNAR_IS_LIST_MODEL (store), FALSE); + + if (parent != NULL) + return FALSE; + + if (G_LIKELY (store->rows != NULL)) + { + iter->stamp = store->stamp; + iter->user_data = store->rows; + return TRUE; + } + else + return FALSE; +} + + + +static gboolean +thunar_list_model_iter_has_child (GtkTreeModel *model, + GtkTreeIter *iter) +{ + return FALSE; +} + + + +static gint +thunar_list_model_iter_n_children (GtkTreeModel *model, + GtkTreeIter *iter) +{ + ThunarListModel *store = THUNAR_LIST_MODEL (model); + + g_return_val_if_fail (THUNAR_IS_LIST_MODEL (store), 0); + + return (iter == NULL) ? store->nrows : 0; +} + + + +static gboolean +thunar_list_model_iter_nth_child (GtkTreeModel *model, + GtkTreeIter *iter, + GtkTreeIter *parent, + gint n) +{ + ThunarListModel *store = THUNAR_LIST_MODEL (model); + Row *row; + + g_return_val_if_fail (THUNAR_IS_LIST_MODEL (store), FALSE); + + if (G_UNLIKELY (parent != NULL)) + return FALSE; + + for (row = store->rows; row != NULL && n > 0; --n, row = row->next) + ; + + if (G_LIKELY (row != NULL)) + { + iter->stamp = store->stamp; + iter->user_data = row; + return TRUE; + } + + return FALSE; +} + + + +static gboolean +thunar_list_model_iter_parent (GtkTreeModel *model, + GtkTreeIter *iter, + GtkTreeIter *child) +{ + return FALSE; +} + + + +static gboolean +thunar_list_model_row_draggable (GtkTreeDragSource *source, + GtkTreePath *path) +{ + return TRUE; +} + + + +static gboolean +thunar_list_model_drag_data_delete (GtkTreeDragSource *source, + GtkTreePath *path) +{ + GtkTreeIter iter; + + g_return_val_if_fail (THUNAR_IS_LIST_MODEL (source), FALSE); + + if (thunar_list_model_get_iter (GTK_TREE_MODEL (source), &iter, path)) + { + thunar_list_model_remove (THUNAR_LIST_MODEL (source), &iter, FALSE); + return TRUE; + } + + return FALSE; +} + + + +static gboolean +thunar_list_model_drag_data_get (GtkTreeDragSource *source, + GtkTreePath *path, + GtkSelectionData *data) +{ + if (gtk_tree_set_row_drag_data (data, (GtkTreeModel *) source, path)) + return TRUE; + else + return FALSE; +} + + + +static gboolean +thunar_list_model_drag_data_received (GtkTreeDragDest *dest, + GtkTreePath *path, + GtkSelectionData *data) +{ + // TODO: Implement this function + return FALSE; +} + + + +static gboolean +thunar_list_model_row_drop_possible (GtkTreeDragDest *dest, + GtkTreePath *path, + GtkSelectionData *data) +{ + // TODO: Implement this function + return FALSE; +} + + + +static gboolean +thunar_list_model_get_sort_column_id (GtkTreeSortable *sortable, + gint *sort_column_id, + GtkSortType *order) +{ + ThunarListModel *store = THUNAR_LIST_MODEL (sortable); + + g_return_val_if_fail (THUNAR_IS_LIST_MODEL (store), FALSE); + + if (store->sort_func == sort_by_name) + *sort_column_id = THUNAR_LIST_MODEL_COLUMN_NAME; + else if (store->sort_func == sort_by_permissions) + *sort_column_id = THUNAR_LIST_MODEL_COLUMN_PERMISSIONS; + else if (store->sort_func == sort_by_size) + *sort_column_id = THUNAR_LIST_MODEL_COLUMN_SIZE; + else + g_assert_not_reached (); + + if (store->sort_sign > 0) + *order = GTK_SORT_ASCENDING; + else + *order = GTK_SORT_DESCENDING; + + return TRUE; +} + + + +static void +thunar_list_model_set_sort_column_id (GtkTreeSortable *sortable, + gint sort_column_id, + GtkSortType order) +{ + ThunarListModel *store = THUNAR_LIST_MODEL (sortable); + + g_return_if_fail (THUNAR_IS_LIST_MODEL (store)); + + switch (sort_column_id) + { + case THUNAR_LIST_MODEL_COLUMN_NAME: + store->sort_func = sort_by_name; + break; + + case THUNAR_LIST_MODEL_COLUMN_PERMISSIONS: + store->sort_func = sort_by_permissions; + break; + + case THUNAR_LIST_MODEL_COLUMN_SIZE: + store->sort_func = sort_by_size; + break; + + default: + g_assert_not_reached (); + } + + store->sort_sign = (order == GTK_SORT_ASCENDING) ? 1 : -1; + + /* re-sort the store */ + thunar_list_model_sort (store); + + /* notify listining parties */ + gtk_tree_sortable_sort_column_changed (sortable); +} + + + +static void +thunar_list_model_set_default_sort_func (GtkTreeSortable *sortable, + GtkTreeIterCompareFunc func, + gpointer data, + GtkDestroyNotify destroy) +{ + g_error ("ThunarListModel has sorting facilities built-in!"); +} + + + +static void +thunar_list_model_set_sort_func (GtkTreeSortable *sortable, + gint sort_column_id, + GtkTreeIterCompareFunc func, + gpointer data, + GtkDestroyNotify destroy) +{ + g_error ("ThunarListModel has sorting facilities built-in!"); +} + + + +static gboolean +thunar_list_model_has_default_sort_func (GtkTreeSortable *sortable) +{ + return FALSE; +} + + + +static gint +thunar_list_model_cmp (ThunarListModel *store, + ThunarFile *a, + ThunarFile *b) +{ + gboolean isdir_a; + gboolean isdir_b; + + g_return_val_if_fail (THUNAR_IS_LIST_MODEL (store), -1); + g_return_val_if_fail (THUNAR_IS_FILE (a), -1); + g_return_val_if_fail (THUNAR_IS_FILE (b), -1); + + if (G_LIKELY (store->sort_folders_first)) + { + isdir_a = thunar_file_is_directory (a); + isdir_b = thunar_file_is_directory (b); + + if (isdir_a && !isdir_b) + return -1; + else if (!isdir_a && isdir_b) + return 1; + } + + return store->sort_func (a, b) * store->sort_sign; +} + + + +static gint +thunar_list_model_cmp_array (gconstpointer a, + gconstpointer b, + gpointer user_data) +{ + return thunar_list_model_cmp (THUNAR_LIST_MODEL (user_data), + ((SortTuple *) a)->row->file, + ((SortTuple *) b)->row->file); +} + + + +static gint +thunar_list_model_cmp_slist (gconstpointer a, + gconstpointer b, + gpointer user_data) +{ + return -thunar_list_model_cmp (THUNAR_LIST_MODEL (user_data), + THUNAR_FILE (a), + THUNAR_FILE (b)); +} + + + +static gboolean +thunar_list_model_remove (ThunarListModel *store, + GtkTreeIter *iter, + gboolean silently) +{ + GtkTreePath *path; + Row *next; + Row *prev = NULL; + Row *tmp; + Row *row; + + g_return_val_if_fail (THUNAR_IS_LIST_MODEL (store), FALSE); + g_return_val_if_fail (iter->stamp == store->stamp, FALSE); + + row = (Row *) iter->user_data; + next = row->next; + path = thunar_list_model_get_path (GTK_TREE_MODEL (store), iter); + + /* delete data associated with this row */ + g_signal_handler_disconnect (G_OBJECT (row->file), row->changed_id); + g_signal_handler_disconnect (G_OBJECT (row->file), row->destroy_id); + g_object_unref (row->file); + + /* remove the link from the list */ + for (tmp = store->rows; tmp != NULL; prev = tmp, tmp = tmp->next) + { + if (tmp == row) + { + if (prev != NULL) + prev->next = tmp->next; + else + store->rows = tmp->next; + + tmp->next = NULL; + store->nrows -= 1; + break; + } + } + g_chunk_free (row, row_chunk); + + /* notify other parties */ + if (G_LIKELY (!silently)) + { + g_object_notify (G_OBJECT (store), "num-files"); + gtk_tree_model_row_deleted (GTK_TREE_MODEL (store), path); + } + gtk_tree_path_free (path); + + if (next != NULL) + { + iter->stamp = store->stamp; + iter->user_data = next; + return TRUE; + } + else + { + iter->stamp = 0; + return FALSE; + } +} + + + +static void +thunar_list_model_sort (ThunarListModel *store) +{ + GtkTreePath *path; + SortTuple tuple; + GArray *sort_array; + gint *new_order; + gint n; + Row *row; + + g_return_if_fail (THUNAR_IS_LIST_MODEL (store)); + + if (G_UNLIKELY (store->nrows <= 1)) + return; + + sort_array = g_array_sized_new (FALSE, FALSE, + sizeof (SortTuple), + store->nrows); + + for (n = 0, row = store->rows; n < store->nrows; ++n, row = row->next) + { + g_assert (row != NULL); + + tuple.offset = n; + tuple.row = row; + g_array_append_val (sort_array, tuple); + } + + g_array_sort_with_data (sort_array, thunar_list_model_cmp_array, store); + + /* update our internals */ + for (n = 0; n < store->nrows - 1; ++n) + g_array_index (sort_array, SortTuple, n).row->next = g_array_index (sort_array, SortTuple, n + 1).row; + g_array_index (sort_array, SortTuple, n).row->next = NULL; + store->rows = g_array_index (sort_array, SortTuple, 0).row; + + /* let the world know about our new order */ + new_order = g_new (gint, store->nrows); + for (n = 0; n < store->nrows; ++n) + new_order[n] = g_array_index (sort_array, SortTuple, n).offset; + + path = gtk_tree_path_new (); + gtk_tree_model_rows_reordered (GTK_TREE_MODEL (store), path, NULL, new_order); + gtk_tree_path_free (path); + + g_array_free (sort_array, TRUE); + g_free (new_order); +} + + + +static void +thunar_list_model_file_changed (ThunarFile *file, + ThunarListModel *store) +{ + GtkTreePath *path; + GtkTreeIter iter; + gint n; + Row *row; + + g_return_if_fail (THUNAR_IS_FILE (file)); + g_return_if_fail (THUNAR_IS_LIST_MODEL (store)); + + for (n = 0, row = store->rows; row != NULL; ++n, row = row->next) + if (G_UNLIKELY (row->file == file)) + { + iter.stamp = store->stamp; + iter.user_data = row; + + path = gtk_tree_path_new (); + gtk_tree_path_append_index (path, n); + gtk_tree_model_row_changed (GTK_TREE_MODEL (store), path, &iter); + gtk_tree_path_free (path); + return; + } + + g_assert_not_reached (); +} + + + +static void +thunar_list_model_file_destroy (ThunarFile *file, + ThunarListModel *store) +{ + GtkTreeIter iter; + Row *row; + + /* check if file is currently shown */ + for (row = store->rows; row != NULL; row = row->next) + if (row->file == file) + { + iter.stamp = store->stamp; + iter.user_data = row; + thunar_list_model_remove (store, &iter, FALSE); + return; + } + + /* file is hidden */ + g_assert (g_slist_find (store->hidden, file) != NULL); + store->hidden = g_slist_remove (store->hidden, file); + g_object_unref (G_OBJECT (file)); +} + + + +static void +thunar_list_model_folder_destroy (ThunarFolder *folder, + ThunarListModel *store) +{ + g_return_if_fail (THUNAR_IS_FOLDER (folder)); + g_return_if_fail (THUNAR_IS_LIST_MODEL (store)); + + thunar_list_model_set_folder (store, NULL); + + // TODO: What to do when the folder is deleted? +} + + + +static void +thunar_list_model_files_added (ThunarFolder *folder, + GSList *files, + ThunarListModel *store) +{ + GtkTreePath *path; + GtkTreeIter iter; + ThunarFile *file; + Row *row; + Row *prev; + + // TODO: pre-sort files to get faster insert?! + for (; files != NULL; files = files->next) + { + /* take a reference on that file */ + file = THUNAR_FILE (files->data); + g_object_ref (G_OBJECT (file)); + + /* check if the file should be hidden */ + if (!store->show_hidden && thunar_file_is_hidden (file)) + { + // FIXME: Need to connect "destroy" here as well + store->hidden = g_slist_prepend (store->hidden, file); + } + else + { + row = g_chunk_new (Row, row_chunk); + row->file = file; + row->changed_id = g_signal_connect (G_OBJECT (file), "changed", + G_CALLBACK (thunar_list_model_file_changed), store); + row->destroy_id = g_signal_connect (G_OBJECT (file), "destroy", + G_CALLBACK (thunar_list_model_file_destroy), store); + + /* find the position to insert the file to */ + if (G_UNLIKELY (store->rows == NULL || thunar_list_model_cmp (store, file, store->rows->file) < 0)) + { + row->next = store->rows; + store->rows = row; + } + else + { + for (prev = store->rows; prev->next != NULL; prev = prev->next) + if (thunar_list_model_cmp (store, file, prev->next->file) < 0) + break; + + row->next = prev->next; + prev->next = row; + } + + iter.stamp = store->stamp; + iter.user_data = row; + + path = thunar_list_model_get_path (GTK_TREE_MODEL (store), &iter); + gtk_tree_model_row_inserted (GTK_TREE_MODEL (store), path, &iter); + gtk_tree_path_free (path); + + store->nrows += 1; + } + } + + /* number of visible files may have changed */ + g_object_notify (G_OBJECT (store), "num-files"); +} + + + +static gint +sort_by_name (ThunarFile *a, + ThunarFile *b) +{ + return strcmp (thunar_file_get_display_name (a), + thunar_file_get_display_name (b)); +} + + + +static gint +sort_by_permissions (ThunarFile *a, + ThunarFile *b) +{ + ThunarVfsFileMode mode_a; + ThunarVfsFileMode mode_b; + + mode_a = thunar_file_get_mode (a); + mode_b = thunar_file_get_mode (b); + + if (mode_a < mode_b) + return -1; + else if (mode_a > mode_b) + return 1; + return 0; +} + + + +static gint +sort_by_size (ThunarFile *a, + ThunarFile *b) +{ + ThunarVfsFileSize size_a; + ThunarVfsFileSize size_b; + + size_a = thunar_file_get_size (a); + size_b = thunar_file_get_size (b); + + if (size_a < size_b) + return -1; + else if (size_a > size_b) + return 1; + return 0; +} + + + +/** + * thunar_list_model_new_with_folder: + * @folder : a valid #ThunarFolder object. + * + * Allocates a new #ThunarListModel instance and associates + * it with @folder. + * + * Return value: the newly created #ThunarListModel instance. + **/ +ThunarListModel* +thunar_list_model_new_with_folder (ThunarFolder *folder) +{ + ThunarListModel *store; + + g_return_val_if_fail (THUNAR_IS_FOLDER (folder), NULL); + + /* allocate the new list model */ + store = g_object_new (THUNAR_TYPE_LIST_MODEL, + "folder", folder, + NULL); + + /* drop the floating reference */ + g_object_ref (G_OBJECT (store)); + gtk_object_sink (GTK_OBJECT (store)); + + return store; +} + + + +/** + * thunar_list_model_get_folder: + * @store : a valid #ThunarListModel object. + * + * Return value: the #ThunarFolder @store is associated with + * or %NULL if @store has no folder. + **/ +ThunarFolder* +thunar_list_model_get_folder (ThunarListModel *store) +{ + g_return_val_if_fail (THUNAR_IS_LIST_MODEL (store), NULL); + return store->folder; +} + + + +/** + * thunar_list_model_set_folder: + * @store : a valid #ThunarListModel. + * @folder : a #ThunarFolder or %NULL. + **/ +void +thunar_list_model_set_folder (ThunarListModel *store, + ThunarFolder *folder) +{ + ThunarFile *file; + GtkTreePath *path; + GtkTreeIter iter; + GSList *files; + GSList *lp; + Row *row; + + g_return_if_fail (THUNAR_IS_LIST_MODEL (store)); + g_return_if_fail (folder == NULL || THUNAR_IS_FOLDER (folder)); + + /* check if we're not already using that folder */ + if (G_UNLIKELY (store->folder == folder)) + return; + + /* unlink from the previously active folder (if any) */ + if (G_LIKELY (store->folder != NULL)) + { + /* remove existing entries (FIXME: this could be done faster!) */ + while (store->rows) + { + iter.stamp = store->stamp; + iter.user_data = store->rows; + thunar_list_model_remove (store, &iter, FALSE); + } + + /* remove hidden entries */ + for (lp = store->hidden; lp != NULL; lp = lp->next) + g_object_unref (G_OBJECT (lp->data)); + g_slist_free (store->hidden); + store->hidden = NULL; + + /* unregister signals and drop the reference */ + g_signal_handlers_disconnect_matched (G_OBJECT (store->folder), G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, store); + g_object_unref (G_OBJECT (store->folder)); + } + + /* ... just to be sure! */ + g_assert (store->rows == NULL); + g_assert (store->nrows == 0); + + /* activate the new folder */ + store->folder = folder; + + /* connect to the new folder (if any) */ + if (folder != NULL) + { + g_object_ref (G_OBJECT (folder)); + + /* sort the files _before_ adding them to the store (reverse order -> prepend below) */ + files = g_slist_copy (thunar_folder_get_files (folder)); + if (G_UNLIKELY (files == NULL)) + return; + files = g_slist_sort_with_data (files, thunar_list_model_cmp_slist, store); + + /* insert the files */ + for (lp = files; lp != NULL; lp = lp->next) + { + /* take a reference on the file */ + file = THUNAR_FILE (lp->data); + g_object_ref (G_OBJECT (file)); + + /* check if this file should be shown/hidden */ + if (!store->show_hidden && thunar_file_is_hidden (file)) + { + store->hidden = g_slist_prepend (store->hidden, file); + } + else + { + row = g_chunk_new (Row, row_chunk); + row->file = file; + row->changed_id = g_signal_connect (G_OBJECT (file), "changed", + G_CALLBACK (thunar_list_model_file_changed), store); + row->destroy_id = g_signal_connect (G_OBJECT (file), "destroy", + G_CALLBACK (thunar_list_model_file_destroy), store); + row->next = store->rows; + + store->rows = row; + store->nrows += 1; + } + } + + /* notify other parties */ + path = gtk_tree_path_new (); + gtk_tree_path_append_index (path, 0); + for (row = store->rows; row != NULL; row = row->next) + { + iter.stamp = store->stamp; + iter.user_data = row; + gtk_tree_model_row_inserted (GTK_TREE_MODEL (store), path, &iter); + gtk_tree_path_next (path); + } + gtk_tree_path_free (path); + + /* cleanup */ + g_slist_free (files); + + /* connect signals to the new folder */ + g_signal_connect (G_OBJECT (store->folder), "files-added", + G_CALLBACK (thunar_list_model_files_added), store); + g_signal_connect (G_OBJECT (store->folder), "destroy", + G_CALLBACK (thunar_list_model_folder_destroy), store); + } + + /* notify listeners that we have a new folder */ + g_object_notify (G_OBJECT (store), "folder"); + g_object_notify (G_OBJECT (store), "num-files"); +} + + + +/** + * thunar_list_model_get_folders_first: + * @store : a #ThunarListModel. + * + * Determines whether @store lists folders first. + * + * Return value: %TRUE if @store lists folders first. + **/ +gboolean +thunar_list_model_get_folders_first (ThunarListModel *store) +{ + g_return_val_if_fail (THUNAR_IS_LIST_MODEL (store), FALSE); + return store->sort_folders_first; +} + + + +/** + * thunar_list_model_set_folders_first: + * @store : a #ThunarListModel. + * @folders_first : %TRUE to let @store list folders first. + **/ +void +thunar_list_model_set_folders_first (ThunarListModel *store, + gboolean folders_first) +{ + g_return_if_fail (THUNAR_IS_LIST_MODEL (store)); + + /* check if the new setting differs */ + if ((store->sort_folders_first && folders_first) + || (!store->sort_folders_first && !folders_first)) + return; + + /* apply the new setting (re-sorting the store) */ + store->sort_folders_first = folders_first; + g_object_notify (G_OBJECT (store), "folders-first"); + thunar_list_model_sort (store); +} + + + +/** + * thunar_list_model_get_show_hidden: + * @store : a #ThunarListModel. + * + * Return value: %TRUE if hidden files will be shown, else %FALSE. + **/ +gboolean +thunar_list_model_get_show_hidden (ThunarListModel *store) +{ + g_return_val_if_fail (THUNAR_IS_LIST_MODEL (store), FALSE); + return store->show_hidden; +} + + + +/** + * thunar_list_model_set_show_hidden: + * @store : a #ThunarListModel. + * @show_hidden : %TRUE if hidden files should be shown, else %FALSE. + **/ +void +thunar_list_model_set_show_hidden (ThunarListModel *store, + gboolean show_hidden) +{ + GtkTreePath *path; + GtkTreeIter iter; + ThunarFile *file; + GSList *hidden_rows; + GSList *files; + GSList *lp; + Row *prev; + Row *row; + + g_return_if_fail (THUNAR_IS_LIST_MODEL (store)); + + /* check if the settings differ */ + if ((store->show_hidden && show_hidden) || (!store->show_hidden && !show_hidden)) + return; + + store->show_hidden = show_hidden; + + if (store->show_hidden) + { + /* merge all hidden elements */ + for (files = store->hidden; files != NULL; files = files->next) + { + file = THUNAR_FILE (files->data); + + row = g_chunk_new (Row, row_chunk); + row->file = file; + row->changed_id = g_signal_connect (G_OBJECT (file), "changed", + G_CALLBACK (thunar_list_model_file_changed), store); + row->destroy_id = g_signal_connect (G_OBJECT (file), "destroy", + G_CALLBACK (thunar_list_model_file_destroy), store); + + if (G_UNLIKELY (store->rows == NULL + || thunar_list_model_cmp (store, file, store->rows->file) < 0)) + { + row->next = store->rows; + store->rows = row; + } + else + { + for (prev = store->rows; prev->next != NULL; prev = prev->next) + if (thunar_list_model_cmp (store, file, prev->next->file) < 0) + break; + + row->next = prev->next; + prev->next = row; + } + + iter.stamp = store->stamp; + iter.user_data = row; + + path = thunar_list_model_get_path (GTK_TREE_MODEL (store), &iter); + gtk_tree_model_row_inserted (GTK_TREE_MODEL (store), path, &iter); + gtk_tree_path_free (path); + + store->nrows += 1; + } + g_slist_free (store->hidden); + store->hidden = NULL; + } + else + { + g_assert (store->hidden == NULL); + + /* unmerge all hidden elements */ + for (hidden_rows = files = NULL, row = store->rows; row != NULL; row = row->next) + if (thunar_file_is_hidden (row->file)) + { + hidden_rows = g_slist_prepend (hidden_rows, row); + files = g_slist_prepend (files, g_object_ref (row->file)); + } + + if (files != NULL) + { + for (lp = hidden_rows; lp != NULL; lp = lp->next) + { + iter.stamp = store->stamp; + iter.user_data = lp->data; + thunar_list_model_remove (store, &iter, FALSE); + } + g_slist_free (hidden_rows); + + store->hidden = files; + } + } + + /* notify listeners about the new setting */ + g_object_notify (G_OBJECT (store), "num-files"); + g_object_notify (G_OBJECT (store), "show-hidden"); +} + + + +/** + * thunar_list_model_get_file: + * @store : a #ThunarListModel. + * @iter : a valid #GtkTreeIter for @store. + * + * Returns the #ThunarFile referred to by @iter. Free + * the returned object using #g_object_unref() when + * you are done with it. + * + * Return value: the #ThunarFile. + **/ +ThunarFile* +thunar_list_model_get_file (ThunarListModel *store, + GtkTreeIter *iter) +{ + Row *row; + + g_return_val_if_fail (THUNAR_IS_LIST_MODEL (store), NULL); + g_return_val_if_fail (iter->stamp == store->stamp, NULL); + + row = (Row *) iter->user_data; + + g_assert (row != NULL); + + return g_object_ref (row->file); +} + + + +/** + * thunar_list_model_get_num_files: + * @store : a #ThunarListModel. + * + * Counts the number of visible files for @store, taking into account the + * current setting of "show-hidden". + * + * Return value: ahe number of visible files in @store. + **/ +guint +thunar_list_model_get_num_files (ThunarListModel *store) +{ + g_return_val_if_fail (THUNAR_IS_LIST_MODEL (store), 0); + return store->nrows; +} diff --git a/thunar/thunar-list-model.h b/thunar/thunar-list-model.h new file mode 100644 index 0000000000000000000000000000000000000000..eba2b7a9ecfb4f777f660da894f092ec7de9f49a --- /dev/null +++ b/thunar/thunar-list-model.h @@ -0,0 +1,77 @@ +/* $Id$ */ +/*- + * Copyright (c) 2004-2005 Benedikt Meurer <benny@xfce.org> + * + * This program 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 2 of the License, or (at your option) + * any later version. + * + * This program 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 + * this program; if not, write to the Free Software Foundation, Inc., 59 Temple + * Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef __THUNAR_LIST_MODEL_H__ +#define __THUNAR_LIST_MODEL_H__ + +#include <thunar/thunar-folder.h> + +G_BEGIN_DECLS; + +typedef struct _ThunarListModelClass ThunarListModelClass; +typedef struct _ThunarListModel ThunarListModel; + +#define THUNAR_TYPE_LIST_MODEL (thunar_list_model_get_type ()) +#define THUNAR_LIST_MODEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), THUNAR_TYPE_LIST_MODEL, ThunarListModel)) +#define THUNAR_LIST_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), THUNAR_TYPE_LIST_MODEL, ThunarListModelClass)) +#define THUNAR_IS_LIST_MODEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), THUNAR_TYPE_LIST_MODEL)) +#define THUNAR_IS_LIST_MODEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), THUNAR_TYPE_LIST_MODEL)) +#define THUNAR_LIST_MODEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), THUNAR_TYPE_LIST_MODEL, ThunarListModelClass)) + +/** + * ThunarListModelColumn: + * + * Columns exported by #ThunarListModel using the #GtkTreeModel + * interface. + **/ +typedef enum +{ + THUNAR_LIST_MODEL_COLUMN_NAME, + THUNAR_LIST_MODEL_COLUMN_ICON_SMALL, + THUNAR_LIST_MODEL_COLUMN_ICON_NORMAL, + THUNAR_LIST_MODEL_COLUMN_ICON_LARGE, + THUNAR_LIST_MODEL_COLUMN_PERMISSIONS, + THUNAR_LIST_MODEL_COLUMN_SIZE, + THUNAR_LIST_MODEL_N_COLUMNS, +} ThunarListModelColumn; + +GType thunar_list_model_get_type (void) G_GNUC_CONST; + +ThunarListModel *thunar_list_model_new_with_folder (ThunarFolder *folder); + +ThunarFolder *thunar_list_model_get_folder (ThunarListModel *store); +void thunar_list_model_set_folder (ThunarListModel *store, + ThunarFolder *folder); + +gboolean thunar_list_model_get_folders_first (ThunarListModel *store); +void thunar_list_model_set_folders_first (ThunarListModel *store, + gboolean folders_first); + +gboolean thunar_list_model_get_show_hidden (ThunarListModel *store); +void thunar_list_model_set_show_hidden (ThunarListModel *store, + gboolean show_hidden); + +ThunarFile *thunar_list_model_get_file (ThunarListModel *store, + GtkTreeIter *iter); + +guint thunar_list_model_get_num_files (ThunarListModel *store); + +G_END_DECLS; + +#endif /* !__THUNAR_LIST_MODEL_H__ */ diff --git a/thunar/thunar-preferences.c b/thunar/thunar-preferences.c new file mode 100644 index 0000000000000000000000000000000000000000..722d0aa28e02547f55bc6897ee8467c075f69eac --- /dev/null +++ b/thunar/thunar-preferences.c @@ -0,0 +1,111 @@ +/* $Id$ */ +/*- + * Copyright (c) 2005 Benedikt Meurer <benny@xfce.org> + * + * This program 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 2 of the License, or (at your option) + * any later version. + * + * This program 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 + * this program; if not, write to the Free Software Foundation, Inc., 59 Temple + * Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <thunar/thunar-preferences.h> + + + +static void thunar_preferences_class_init (ThunarPreferencesClass *klass); +static void thunar_preferences_init (ThunarPreferences *preferences); +static void thunar_preferences_finalize (GObject *object); + + + +struct _ThunarPreferencesClass +{ + GObjectClass __parent__; +}; + +struct _ThunarPreferences +{ + GObject __parent__; +}; + + + +static GObjectClass *parent_class; + + + +G_DEFINE_TYPE (ThunarPreferences, thunar_preferences, G_TYPE_OBJECT); + + + +static void +thunar_preferences_class_init (ThunarPreferencesClass *klass) +{ + GObjectClass *gobject_class; + + parent_class = g_type_class_peek_parent (klass); + + gobject_class = G_OBJECT_CLASS (klass); + gobject_class->finalize = thunar_preferences_finalize; +} + + + +static void +thunar_preferences_init (ThunarPreferences *preferences) +{ +} + + + +static void +thunar_preferences_finalize (GObject *object) +{ + G_OBJECT_CLASS (parent_class)->finalize (object); +} + + + +/** + * thunar_preferences_get: + * + * Queries the global #ThunarPreferences instance, which is shared + * by all modules. The function automatically takes a reference + * for the caller, so you'll need to call #g_object_unref() when + * you're done with it. + * + * Return value: the global #ThunarPreferences instance. + **/ +ThunarPreferences* +thunar_preferences_get (void) +{ + static ThunarPreferences *preferences = NULL; + + if (G_UNLIKELY (preferences == NULL)) + { + preferences = g_object_new (THUNAR_TYPE_PREFERENCES, NULL); + g_object_add_weak_pointer (G_OBJECT (preferences), + (gpointer) &preferences); + } + else + { + g_object_ref (G_OBJECT (preferences)); + } + + return preferences; +} + + diff --git a/thunar/thunar-preferences.h b/thunar/thunar-preferences.h new file mode 100644 index 0000000000000000000000000000000000000000..32eb20cee31c075dfac26e65a2dc0c039a4ea70d --- /dev/null +++ b/thunar/thunar-preferences.h @@ -0,0 +1,43 @@ +/* $Id$ */ +/*- + * Copyright (c) 2005 Benedikt Meurer <benny@xfce.org> + * + * This program 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 2 of the License, or (at your option) + * any later version. + * + * This program 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 + * this program; if not, write to the Free Software Foundation, Inc., 59 Temple + * Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef __THUNAR_PREFERENCES_H__ +#define __THUNAR_PREFERENCES_H__ + +#include <glib-object.h> + +G_BEGIN_DECLS; + +typedef struct _ThunarPreferencesClass ThunarPreferencesClass; +typedef struct _ThunarPreferences ThunarPreferences; + +#define THUNAR_TYPE_PREFERENCES (thunar_preferences_get_type ()) +#define THUNAR_PREFERENCES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), THUNAR_TYPE_PREFERENCES, ThunarPreferences)) +#define THUNAR_PREFERENCES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), THUNAR_TYPE_PREFERENCES, ThunarPreferencesClass)) +#define THUNAR_IS_PREFERENCES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), THUNAR_TYPE_PREFERENCES)) +#define THUNAR_IS_PREFERENCES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), THUNAR_TYPE_PREFERENCES)) +#define THUNAR_PREFERENCES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), THUNAR_TYPE_PREFERENCES, ThunarPreferencesClass)) + +GType thunar_preferences_get_type (void) G_GNUC_CONST; + +ThunarPreferences *thunar_preferences_get (void); + +G_END_DECLS; + +#endif /* !__THUNAR_PREFERENCES_H__ */ diff --git a/thunar/thunar-window.c b/thunar/thunar-window.c new file mode 100644 index 0000000000000000000000000000000000000000..b34de79fe308243b081bfeec166f89edb801daa6 --- /dev/null +++ b/thunar/thunar-window.c @@ -0,0 +1,180 @@ +/* $Id$ */ +/*- + * Copyright (c) 2005 Benedikt Meurer <benny@xfce.org> + * + * This program 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 2 of the License, or (at your option) + * any later version. + * + * This program 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 + * this program; if not, write to the Free Software Foundation, Inc., 59 Temple + * Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <thunar/thunar-list-model.h> +#include <thunar/thunar-window.h> + + + +static void thunar_window_class_init (ThunarWindowClass *klass); +static void thunar_window_init (ThunarWindow *window); + + + +struct _ThunarWindowClass +{ + GtkWindowClass __parent__; +}; + +struct _ThunarWindow +{ + GtkWindow __parent__; + + GtkWidget *view; +}; + + + +static GObjectClass *parent_class; + + + +G_DEFINE_TYPE (ThunarWindow, thunar_window, GTK_TYPE_WINDOW); + + + +static void +thunar_window_class_init (ThunarWindowClass *klass) +{ + parent_class = g_type_class_peek_parent (klass); +} + + + +static void +thunar_window_init (ThunarWindow *window) +{ + GtkWidget *swin; + + gtk_window_set_default_size (GTK_WINDOW (window), 640, 480); + gtk_window_set_title (GTK_WINDOW (window), _("Thunar")); + + swin = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swin), + GTK_POLICY_AUTOMATIC, + GTK_POLICY_AUTOMATIC); + gtk_container_add (GTK_CONTAINER (window), swin); + gtk_widget_show (swin); + +#if 0 + GtkTreeViewColumn *column; + GtkTreeSelection *selection; + GtkCellRenderer *renderer; + + window->view = gtk_tree_view_new (); + gtk_tree_view_set_rules_hint (GTK_TREE_VIEW (window->view), TRUE); + gtk_tree_view_set_enable_search (GTK_TREE_VIEW (window->view), TRUE); + gtk_tree_view_set_search_column (GTK_TREE_VIEW (window->view), + THUNAR_LIST_MODEL_COLUMN_NAME); + gtk_container_add (GTK_CONTAINER (swin), window->view); + gtk_widget_show (window->view); + + /* first column (icon, name) */ + column = g_object_new (GTK_TYPE_TREE_VIEW_COLUMN, + "reorderable", TRUE, + "resizable", TRUE, + "title", _("Name"), + NULL); + renderer = gtk_cell_renderer_pixbuf_new (); + gtk_tree_view_column_pack_start (column, renderer, FALSE); + gtk_tree_view_column_set_attributes (column, renderer, + "pixbuf", THUNAR_LIST_MODEL_COLUMN_ICON_SMALL, + NULL); + renderer = gtk_cell_renderer_text_new (); + gtk_tree_view_column_pack_start (column, renderer, FALSE); + gtk_tree_view_column_set_attributes (column, renderer, + "text", THUNAR_LIST_MODEL_COLUMN_NAME, + NULL); + gtk_tree_view_column_set_sort_column_id (column, THUNAR_LIST_MODEL_COLUMN_NAME); + gtk_tree_view_append_column (GTK_TREE_VIEW (window->view), column); + + /* second column (size) */ + column = g_object_new (GTK_TYPE_TREE_VIEW_COLUMN, + "reorderable", TRUE, + "resizable", TRUE, + "title", _("Size"), + NULL); + renderer = g_object_new (GTK_TYPE_CELL_RENDERER_TEXT, + "xalign", 1.0, + NULL); + gtk_tree_view_column_pack_start (column, renderer, TRUE); + gtk_tree_view_column_set_attributes (column, renderer, + "text", THUNAR_LIST_MODEL_COLUMN_SIZE, + NULL); + gtk_tree_view_column_set_sort_column_id (column, THUNAR_LIST_MODEL_COLUMN_SIZE); + gtk_tree_view_append_column (GTK_TREE_VIEW (window->view), column); + + /* third column (permissions) */ + column = g_object_new (GTK_TYPE_TREE_VIEW_COLUMN, + "reorderable", TRUE, + "resizable", TRUE, + "title", _("Permissions"), + NULL); + renderer = g_object_new (GTK_TYPE_CELL_RENDERER_TEXT, + "xalign", 0.0, + NULL); + gtk_tree_view_column_pack_start (column, renderer, TRUE); + gtk_tree_view_column_set_attributes (column, renderer, + "text", THUNAR_LIST_MODEL_COLUMN_PERMISSIONS, + NULL); + gtk_tree_view_column_set_sort_column_id (column, THUNAR_LIST_MODEL_COLUMN_PERMISSIONS); + gtk_tree_view_append_column (GTK_TREE_VIEW (window->view), column); + + selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (window->view)); + gtk_tree_selection_set_mode (selection, GTK_SELECTION_MULTIPLE); +#else + window->view = exo_icon_view_new (); + exo_icon_view_set_text_column (EXO_ICON_VIEW (window->view), THUNAR_LIST_MODEL_COLUMN_NAME); + exo_icon_view_set_pixbuf_column (EXO_ICON_VIEW (window->view), THUNAR_LIST_MODEL_COLUMN_ICON_NORMAL); + exo_icon_view_set_selection_mode (EXO_ICON_VIEW (window->view), GTK_SELECTION_MULTIPLE); + gtk_container_add (GTK_CONTAINER (swin), window->view); + gtk_widget_show (window->view); +#endif +} + + + +/** + * thunar_window_new_with_folder: + * @folder : a #ThunarFolder instance. + * + * Return value: the newly allocated #ThunarWindow instance. + **/ +GtkWidget* +thunar_window_new_with_folder (ThunarFolder *folder) +{ + ThunarListModel *model; + GtkWidget *window; + + g_return_val_if_fail (THUNAR_IS_FOLDER (folder), NULL); + + window = g_object_new (THUNAR_TYPE_WINDOW, NULL); + + model = thunar_list_model_new_with_folder (folder); + g_object_set (G_OBJECT (THUNAR_WINDOW (window)->view), + "model", model, NULL); + g_object_unref (G_OBJECT (model)); + + return window; +} + diff --git a/thunar/thunar-window.h b/thunar/thunar-window.h new file mode 100644 index 0000000000000000000000000000000000000000..5f70b38d62edc23e7e27141927f29100e5af75ef --- /dev/null +++ b/thunar/thunar-window.h @@ -0,0 +1,43 @@ +/* $Id$ */ +/*- + * Copyright (c) 2005 Benedikt Meurer <benny@xfce.org> + * + * This program 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 2 of the License, or (at your option) + * any later version. + * + * This program 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 + * this program; if not, write to the Free Software Foundation, Inc., 59 Temple + * Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#ifndef __THUNAR_WINDOW_H__ +#define __THUNAR_WINDOW_H__ + +#include <thunar/thunar-folder.h> + +G_BEGIN_DECLS; + +typedef struct _ThunarWindowClass ThunarWindowClass; +typedef struct _ThunarWindow ThunarWindow; + +#define THUNAR_TYPE_WINDOW (thunar_window_get_type ()) +#define THUNAR_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), THUNAR_TYPE_WINDOW, ThunarWindow)) +#define THUNAR_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), THUNAR_TYPE_WINDOW, ThunarWindowClass)) +#define THUNAR_IS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), THUNAR_TYPE_WINDOW)) +#define THUNAR_IS_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), THUNAR_TYPE_WINDOW)) +#define THUNAR_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), THUNAR_TYPE_WINDOW, ThunarWindowClass)) + +GType thunar_window_get_type (void) G_GNUC_CONST; + +GtkWidget *thunar_window_new_with_folder (ThunarFolder *folder); + +G_END_DECLS; + +#endif /* !__THUNAR_WINDOW_H__ */