diff -Nru python-efl-1.17.99~201312040125/COPYING python-efl-1.8.2~201401231220/COPYING
--- python-efl-1.17.99~201312040125/COPYING 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/COPYING 2014-01-18 12:24:01.000000000 +0000
@@ -1,165 +1,674 @@
- GNU LESSER GENERAL PUBLIC LICENSE
+ GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc.
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
+ Preamble
- This version of the GNU Lesser General Public License incorporates
-the terms and conditions of version 3 of the GNU General Public
-License, supplemented by the additional permissions listed below.
-
- 0. Additional Definitions.
-
- As used herein, "this License" refers to version 3 of the GNU Lesser
-General Public License, and the "GNU GPL" refers to version 3 of the GNU
-General Public License.
-
- "The Library" refers to a covered work governed by this License,
-other than an Application or a Combined Work as defined below.
-
- An "Application" is any work that makes use of an interface provided
-by the Library, but which is not otherwise based on the Library.
-Defining a subclass of a class defined by the Library is deemed a mode
-of using an interface provided by the Library.
-
- A "Combined Work" is a work produced by combining or linking an
-Application with the Library. The particular version of the Library
-with which the Combined Work was made is also called the "Linked
-Version".
-
- The "Minimal Corresponding Source" for a Combined Work means the
-Corresponding Source for the Combined Work, excluding any source code
-for portions of the Combined Work that, considered in isolation, are
-based on the Application, and not on the Linked Version.
-
- The "Corresponding Application Code" for a Combined Work means the
-object code and/or source code for the Application, including any data
-and utility programs needed for reproducing the Combined Work from the
-Application, but excluding the System Libraries of the Combined Work.
-
- 1. Exception to Section 3 of the GNU GPL.
-
- You may convey a covered work under sections 3 and 4 of this License
-without being bound by section 3 of the GNU GPL.
-
- 2. Conveying Modified Versions.
-
- If you modify a copy of the Library, and, in your modifications, a
-facility refers to a function or data to be supplied by an Application
-that uses the facility (other than as an argument passed when the
-facility is invoked), then you may convey a copy of the modified
-version:
-
- a) under this License, provided that you make a good faith effort to
- ensure that, in the event an Application does not supply the
- function or data, the facility still operates, and performs
- whatever part of its purpose remains meaningful, or
-
- b) under the GNU GPL, with none of the additional permissions of
- this License applicable to that copy.
-
- 3. Object Code Incorporating Material from Library Header Files.
-
- The object code form of an Application may incorporate material from
-a header file that is part of the Library. You may convey such object
-code under terms of your choice, provided that, if the incorporated
-material is not limited to numerical parameters, data structure
-layouts and accessors, or small macros, inline functions and templates
-(ten or fewer lines in length), you do both of the following:
-
- a) Give prominent notice with each copy of the object code that the
- Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the object code with a copy of the GNU GPL and this license
- document.
-
- 4. Combined Works.
-
- You may convey a Combined Work under terms of your choice that,
-taken together, effectively do not restrict modification of the
-portions of the Library contained in the Combined Work and reverse
-engineering for debugging such modifications, if you also do each of
-the following:
-
- a) Give prominent notice with each copy of the Combined Work that
- the Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the Combined Work with a copy of the GNU GPL and this license
- document.
-
- c) For a Combined Work that displays copyright notices during
- execution, include the copyright notice for the Library among
- these notices, as well as a reference directing the user to the
- copies of the GNU GPL and this license document.
-
- d) Do one of the following:
-
- 0) Convey the Minimal Corresponding Source under the terms of this
- License, and the Corresponding Application Code in a form
- suitable for, and under terms that permit, the user to
- recombine or relink the Application with a modified version of
- the Linked Version to produce a modified Combined Work, in the
- manner specified by section 6 of the GNU GPL for conveying
- Corresponding Source.
-
- 1) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (a) uses at run time
- a copy of the Library already present on the user's computer
- system, and (b) will operate properly with a modified version
- of the Library that is interface-compatible with the Linked
- Version.
-
- e) Provide Installation Information, but only if you would otherwise
- be required to provide such information under section 6 of the
- GNU GPL, and only to the extent that such information is
- necessary to install and execute a modified version of the
- Combined Work produced by recombining or relinking the
- Application with a modified version of the Linked Version. (If
- you use option 4d0, the Installation Information must accompany
- the Minimal Corresponding Source and Corresponding Application
- Code. If you use option 4d1, you must provide the Installation
- Information in the manner specified by section 6 of the GNU GPL
- for conveying Corresponding Source.)
-
- 5. Combined Libraries.
-
- 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 that are not Applications and are not covered by this
-License, and convey such a combined library under terms of your
-choice, if you do both of the following:
-
- a) Accompany the combined library with a copy of the same work based
- on the Library, uncombined with any other library facilities,
- conveyed under the terms of this License.
-
- b) Give prominent notice with the combined library that part of it
- is a work based on the Library, and explaining where to find the
- accompanying uncombined form of the same work.
-
- 6. Revised Versions of the GNU Lesser General Public License.
-
- The Free Software Foundation may publish revised and/or new versions
-of the GNU Lesser 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 as you received it specifies that a certain numbered version
-of the GNU Lesser General Public License "or any later version"
-applies to it, you have the option of following the terms and
-conditions either of that published version or of any later version
-published by the Free Software Foundation. If the Library as you
-received it does not specify a version number of the GNU Lesser
-General Public License, you may choose any version of the GNU Lesser
-General Public License ever published by the Free Software Foundation.
-
- If the Library as you received it specifies that a proxy can decide
-whether future versions of the GNU Lesser General Public License shall
-apply, that proxy's public statement of acceptance of any version is
-permanent authorization for you to choose that version for the
-Library.
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. You can apply it to
+your programs, 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
+them 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 prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. You must make sure that they, too, receive
+or can get the source code. And you must show them these terms so they
+know their rights.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If 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 convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU 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
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "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 PROGRAM
+IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM 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 PROGRAM (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 PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+ To do so, attach the following notices to the program. It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+
+ Copyright (C)
+
+ 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 3 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, see .
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ Copyright (C)
+ This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+.
+
+ The GNU General Public License does not permit incorporating your program
+into proprietary programs. If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library. If this is what you want to do, use the GNU Lesser General
+Public License instead of this License. But first, please read
+.
diff -Nru python-efl-1.17.99~201312040125/COPYING.LESSER python-efl-1.8.2~201401231220/COPYING.LESSER
--- python-efl-1.17.99~201312040125/COPYING.LESSER 1970-01-01 00:00:00.000000000 +0000
+++ python-efl-1.8.2~201401231220/COPYING.LESSER 2014-01-18 12:24:01.000000000 +0000
@@ -0,0 +1,165 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ 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 that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser 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 as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
diff -Nru python-efl-1.17.99~201312040125/INSTALL python-efl-1.8.2~201401231220/INSTALL
--- python-efl-1.17.99~201312040125/INSTALL 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/INSTALL 2014-01-18 12:24:01.000000000 +0000
@@ -2,8 +2,8 @@
1. REQUIREMENTS:
----------------
- * Python 2.7 or higher (http://www.python.org/)
- - Tested with Python 2.7 / 3.2
+ * Python 2.6 or higher (http://www.python.org/)
+ - Tested with Python 2.6 / 2.7 / 3.2 / 3.3
* Cython 0.17.0 or higher (http://cython.org/)
- Tested with Cython 0.17.1
@@ -89,6 +89,8 @@
tests or use the 00_run_all_tests.py in each folder or even in the tests/ base
dir to run all the tests at once.
+ Python 2.7 is required for running the tests.
+
The scripts in examples/ folder must be run by the user as they require
user interaction.
diff -Nru python-efl-1.17.99~201312040125/MANIFEST.in python-efl-1.8.2~201401231220/MANIFEST.in
--- python-efl-1.17.99~201312040125/MANIFEST.in 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/MANIFEST.in 2014-01-18 12:24:01.000000000 +0000
@@ -1,5 +1,7 @@
-include README INSTALL COPYING AUTHORS
+include README INSTALL COPYING COPYING.LESSER AUTHORS changes.html
recursive-include efl *.c *.h
+graft tests
+recursive-exclude tests *.pyc
graft examples
recursive-exclude examples *.pyc
graft doc
diff -Nru python-efl-1.17.99~201312040125/README python-efl-1.8.2~201401231220/README
--- python-efl-1.17.99~201312040125/README 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/README 2014-01-18 12:24:01.000000000 +0000
@@ -1,7 +1,7 @@
------------------
-PYTHON-EFL 1.7.99
------------------
+----------------
+PYTHON-EFL 1.8.1
+----------------
EFL is a collection of libraries for handling many common tasks a
developer man have such as data structures, communication, rendering,
@@ -16,6 +16,8 @@
CHANGES FROM 1.7 to 1.8
=======================
+See also changes.html.
+
* added efl container package
* ecore.file.Download => efl.ecore.FileDownload
* edje.edit.EdjeEdit => efl.edje_edit.EdjeEdit
diff -Nru python-efl-1.17.99~201312040125/TODO python-efl-1.8.2~201401231220/TODO
--- python-efl-1.17.99~201312040125/TODO 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/TODO 2014-01-18 12:24:01.000000000 +0000
@@ -1,50 +1,20 @@
BUGS
====
+* EdjeEdit: PartState API does not work
+* Elm.Map: overlays_show segfaults, scrollers in examples are jumpy
-* EdjeEdit: PartState API does not work (edje edit is disabled for now)
-* Edje.External: The unit test fails (marked as known failure in unittest)
-* Elm.Map: overlays_show segfaults, scrollers in examples jump when menu opens
-* Bad binaries produced when build environment is invalid (T504)
+Failing unit tests
+------------------
+* tests.edje.test_04_edit: testPartEffect (marked as known failure)
+* tests.edje.test_04_edit: testGroupDel (skipped, segfault)
+* tests.edje.test_04_edit: testExternal (skipped, TODO)
-
-TODO
-====
-
-* Improve, review and document our use of exceptions
-* Check that README has all changes listed
-* Overall API review
-
-Elementary
-----------
-
-* Review the new container type object item system.
-* Get rid of enums in __init__.py
-
-
-TODO (optional)
-===============
-
-* Use more _set_properties_from_keyword_args, replace Evas' _set_common_params
- with it?
+TODO (after 1.8)
+================
* update links and text on:
http://www.freedesktop.org/wiki/Software/DBusBindings
(requires fd.org shell account?)
-* Add more documentation for callbacks, events, etc.
-* Check for missing Eo type mappings
-
-Elm
----
-* Images missing in the documentation:
- - datetime
- - video
- - web
- - window ?
-
-
-TODO (future)
-=============
-
* Review the internal functions and name them consistently
* Evas: SmartObject needs testing, work. Make it inheritable by extension
classes?
@@ -53,6 +23,8 @@
* include python-ethumb
* edje: complete the unit tests
* Initial Evas GL support (for Elm)
+* Add more documentation for callbacks, events, etc.
+* Check for missing Eo type mappings
Elm
---
@@ -60,3 +32,9 @@
* Automate compilation of the example edje files.
* Add more examples
* Prefs
+* GLView
+* Images missing in the documentation:
+ - datetime
+ - video
+ - web
+ - window ?
diff -Nru python-efl-1.17.99~201312040125/changes.html python-efl-1.8.2~201401231220/changes.html
--- python-efl-1.17.99~201312040125/changes.html 1970-01-01 00:00:00.000000000 +0000
+++ python-efl-1.8.2~201401231220/changes.html 2014-01-18 12:24:01.000000000 +0000
@@ -0,0 +1,997 @@
+
+
+
+
+ Changes in Version 1.8 — Python Bindings for Enlightenment Foundation Libraries 1.8.0
+
+
+
+
+
+
diff -Nru python-efl-1.17.99~201312040125/debian/changelog python-efl-1.8.2~201401231220/debian/changelog
--- python-efl-1.17.99~201312040125/debian/changelog 2013-12-03 21:25:34.000000000 +0000
+++ python-efl-1.8.2~201401231220/debian/changelog 2014-01-23 08:21:06.000000000 +0000
@@ -1,4 +1,4 @@
-python-efl (1.17.99~201312040125-1ppa1~precise) precise; urgency=high
+python-efl (1.8.2~201401231220-1ppa1~precise) precise; urgency=high
* Autobuild.
diff -Nru python-efl-1.17.99~201312040125/doc/conf.py python-efl-1.8.2~201401231220/doc/conf.py
--- python-efl-1.17.99~201312040125/doc/conf.py 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/doc/conf.py 2014-01-18 12:24:01.000000000 +0000
@@ -77,7 +77,7 @@
# General information about the project.
project = u'Python Bindings for Enlightenment Foundation Libraries'
-copyright = u'2008-2013, Simon Busch, Gustavo Sverzut Barbieri, Ulisses Furquim, ProFUSION embedded systems, Boris Faure, Fabiano Fidencio, Davide Andreoli, Kai Huuhko'
+copyright = u'2008-2014, Simon Busch, Gustavo Sverzut Barbieri, Ulisses Furquim, ProFUSION embedded systems, Boris Faure, Fabiano Fidencio, Davide Andreoli, Kai Huuhko'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
@@ -86,7 +86,7 @@
# The short X.Y version.
version = '1.8'
# The full version, including alpha/beta/rc tags.
-release = '1.7.99'
+release = '1.8.1'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
@@ -125,6 +125,29 @@
# Setting this True will show missing references as warnings.
#nitpicky = True
+# nitpick_ignore = [
+# ('py:obj', 'int'),
+# ('py:obj', 'float'),
+# ('py:obj', 'double'),
+# ('py:obj', 'callable'),
+# ('py:obj', 'function'),
+# ('py:obj', 'str'),
+# ('py:exc', 'RuntimeError'),
+# ('py:exc', 'RuntimeWarning'),
+# ('py:exc', 'ValueError'),
+# ('py:exc', 'TypeError'),
+# ('py:obj', 'Evas_Coord (int)'),
+# ('py:obj', 'string'),
+# ('py:obj', 'list'),
+# ('py:class', 'object'),
+# ('py:obj', 'unicode'),
+# ('py:obj', 'bool'),
+# ('py:obj', 'tuple of ints'),
+# ('py:class', 'efl.eo.Eo'),
+# ('py:attr', 'efl.eo.Eo.data'),
+# ('py:obj', 'datetime.date'),
+# ]
+
# -- Options for HTML output ---------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
@@ -290,7 +313,7 @@
epub_title = u'Python Bindings for EFL'
epub_author = u'Simon Busch, Gustavo Sverzut Barbieri, Ulisses Furquim, ProFUSION embedded systems, Boris Faure, Fabiano Fidencio, Davide Andreoli, Kai Huuhko'
epub_publisher = u'Simon Busch, Gustavo Sverzut Barbieri, Ulisses Furquim, ProFUSION embedded systems, Boris Faure, Fabiano Fidencio, Davide Andreoli, Kai Huuhko'
-epub_copyright = u'2008-2013, Simon Busch, Gustavo Sverzut Barbieri, Ulisses Furquim, ProFUSION embedded systems, Boris Faure, Fabiano Fidencio, Davide Andreoli, Kai Huuhko'
+epub_copyright = u'2008-2014, Simon Busch, Gustavo Sverzut Barbieri, Ulisses Furquim, ProFUSION embedded systems, Boris Faure, Fabiano Fidencio, Davide Andreoli, Kai Huuhko'
# The language of the text. It defaults to the language option
# or en if the language is not set.
diff -Nru python-efl-1.17.99~201312040125/doc/edje/class-edje.rst python-efl-1.8.2~201401231220/doc/edje/class-edje.rst
--- python-efl-1.17.99~201312040125/doc/edje/class-edje.rst 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/doc/edje/class-edje.rst 2014-01-18 12:24:01.000000000 +0000
@@ -4,3 +4,4 @@
==============================
.. autoclass:: efl.edje.Edje
+
diff -Nru python-efl-1.17.99~201312040125/doc/edje/class-edje_edit.rst python-efl-1.8.2~201401231220/doc/edje/class-edje_edit.rst
--- python-efl-1.17.99~201312040125/doc/edje/class-edje_edit.rst 1970-01-01 00:00:00.000000000 +0000
+++ python-efl-1.8.2~201401231220/doc/edje/class-edje_edit.rst 2014-01-18 12:24:01.000000000 +0000
@@ -0,0 +1,7 @@
+.. currentmodule:: efl.edje_edit
+
+:class:`efl.edje_edit.EdjeEdit` Class
+=======================================
+
+.. autoclass:: efl.edje_edit.EdjeEdit
+ :undoc-members:
diff -Nru python-efl-1.17.99~201312040125/doc/edje/edje.rst python-efl-1.8.2~201401231220/doc/edje/edje.rst
--- python-efl-1.17.99~201312040125/doc/edje/edje.rst 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/doc/edje/edje.rst 2014-01-18 12:24:01.000000000 +0000
@@ -72,6 +72,7 @@
:maxdepth: 4
class-edje
+ class-edje_edit
Inheritance diagram
diff -Nru python-efl-1.17.99~201312040125/doc/efl.rst python-efl-1.8.2~201401231220/doc/efl.rst
--- python-efl-1.17.99~201312040125/doc/efl.rst 1970-01-01 00:00:00.000000000 +0000
+++ python-efl-1.8.2~201401231220/doc/efl.rst 2014-01-18 12:24:01.000000000 +0000
@@ -0,0 +1,53 @@
+.. module:: efl
+
+:py:mod:`efl` Package
+=====================
+
+.. versionadded:: 1.8
+
+Logging
+-------
+
+PyEFL provides `logging `_
+to loggers which are usually named after their equivalent module,
+f.e. *efl.eo*. There is a root logger called *efl* which also receives
+any messages coming from the underlying C libraries.
+
+These loggers have a NullHandler by default and are set to log messages
+with level logging.WARNING and higher. The child loggers propagate
+messages to *efl*, which doesn't propagate to the root Python logger,
+so you need to add handlers to it to get output from it::
+
+ import logging
+ elog = logging.getLogger("efl")
+ elog.addHandler(logging.StreamHandler())
+
+You should also set its level::
+
+ elog.setLevel(logging.INFO)
+
+And you may control the child loggers individually::
+
+ elm_log = logging.getLogger("efl.elementary")
+ elm_log.propagate = False
+ elm_log.addHandler(logging.StreamHandler())
+ elm_log.setLevel(logging.ERROR)
+
+.. versionadded:: 1.8
+ Loggers
+
+Class properties
+----------------
+
+All class properties have their respective _get/_set methods defined.
+
+These are useful when there are properties with the same name in the
+inheritance tree, or when you're using a lambda.
+
+The properties can be applied to the instance by using keyword arguments that
+are not already used by the constructor, for example like this::
+
+ Button(win, text="I win")
+
+.. versionadded:: 1.8
+ Using keyword arguments to set properties
diff -Nru python-efl-1.17.99~201312040125/doc/index.rst python-efl-1.8.2~201401231220/doc/index.rst
--- python-efl-1.17.99~201312040125/doc/index.rst 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/doc/index.rst 2014-01-18 12:24:01.000000000 +0000
@@ -29,41 +29,11 @@
`EFL Overview `_
`EFL Documentation `_
-Logging
--------
-
-PyEFL provides `logging `_
-to loggers which are usually named after their equivalent module,
-f.e. *efl.eo*. There is a root logger called *efl* which also receives
-any messages coming from the underlying C libraries.
-
-These loggers have a NullHandler by default and are set to log messages
-with level logging.WARNING and higher. The child loggers propagate
-messages to *efl*, which doesn't propagate to the root Python logger,
-so you need to add handlers to it to get output from it::
-
- import logging
- elog = logging.getLogger("efl")
- elog.addHandler(logging.StreamHandler())
-
-You should also set its level::
-
- elog.setLevel(logging.INFO)
-
-And you may control the child loggers individually::
-
- elm_log = logging.getLogger("efl.elementary")
- elm_log.propagate = False
- elm_log.addHandler(logging.StreamHandler())
- elm_log.setLevel(logging.ERROR)
-
-Class properties
-----------------
-All class properties have their respective _get/_set methods defined.
+EFL
+---
-These are useful when there are properties with the same name in the
-inheritance tree, or when you're using a lambda.
+.. toctree:: efl.rst
Ecore
-----
diff -Nru python-efl-1.17.99~201312040125/efl/dbus_mainloop/dbus_mainloop.pyx python-efl-1.8.2~201401231220/efl/dbus_mainloop/dbus_mainloop.pyx
--- python-efl-1.17.99~201312040125/efl/dbus_mainloop/dbus_mainloop.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/dbus_mainloop/dbus_mainloop.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
diff -Nru python-efl-1.17.99~201312040125/efl/dbus_mainloop/e_dbus.c python-efl-1.8.2~201401231220/efl/dbus_mainloop/e_dbus.c
--- python-efl-1.17.99~201312040125/efl/dbus_mainloop/e_dbus.c 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/dbus_mainloop/e_dbus.c 2014-01-18 12:24:01.000000000 +0000
@@ -6,7 +6,7 @@
* Python-EFL is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
+ * version 3 of the License, or (at your option) any later version.
*
* Python-EFL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
diff -Nru python-efl-1.17.99~201312040125/efl/dbus_mainloop/e_dbus.h python-efl-1.8.2~201401231220/efl/dbus_mainloop/e_dbus.h
--- python-efl-1.17.99~201312040125/efl/dbus_mainloop/e_dbus.h 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/dbus_mainloop/e_dbus.h 2014-01-18 12:24:01.000000000 +0000
@@ -6,7 +6,7 @@
* Python-EFL is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
+ * version 3 of the License, or (at your option) any later version.
*
* Python-EFL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
diff -Nru python-efl-1.17.99~201312040125/efl/ecore/efl.ecore.pyx python-efl-1.8.2~201401231220/efl/ecore/efl.ecore.pyx
--- python-efl-1.17.99~201312040125/efl/ecore/efl.ecore.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/ecore/efl.ecore.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -200,6 +200,7 @@
"""
+from libc.stdint cimport uintptr_t
import traceback
from efl.eo cimport Eo, PY_REFCOUNT
from efl.utils.conversions cimport _ctouni
diff -Nru python-efl-1.17.99~201312040125/efl/ecore/efl.ecore_animator.pxi python-efl-1.8.2~201401231220/efl/ecore/efl.ecore_animator.pxi
--- python-efl-1.17.99~201312040125/efl/ecore/efl.ecore_animator.pxi 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/ecore/efl.ecore_animator.pxi 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -89,6 +89,33 @@
return ret
cdef class AnimatorTimeline(Animator):
+
+ """
+
+ Add an animator that runs for a limited time
+
+ :param runtime: The time to run in seconds
+ :param func: The function to call when it ticks off
+
+ This is just like a normal :py:class:`Animator` except the animator only
+ runs for a limited time specified in seconds by ``runtime``. Once the
+ runtime the animator has elapsed (animator finished) it will automatically
+ be deleted. The callback function ``func`` can return ECORE_CALLBACK_RENEW
+ to keep the animator running or ECORE_CALLBACK_CANCEL ro stop it and have it
+ be deleted automatically at any time.
+
+ The ``func`` will ALSO be passed a position parameter that will be in value
+ from 0.0 to 1.0 to indicate where along the timeline (0.0 start, 1.0 end)
+ the animator run is at. If the callback wishes not to have a linear
+ transition it can "map" this value to one of several curves and mappings via
+ :py:meth:`Animator.pos_map`.
+
+ .. note:: The default ``frametime`` value is 1/30th of a second.
+
+ .. versionadded:: 1.8
+
+ """
+
def __init__(self, func, double runtime, *args, **kargs):
if not callable(func):
raise TypeError("Parameter 'func' must be callable")
diff -Nru python-efl-1.17.99~201312040125/efl/ecore/efl.ecore_events.pxi python-efl-1.8.2~201401231220/efl/ecore/efl.ecore_events.pxi
--- python-efl-1.17.99~201312040125/efl/ecore/efl.ecore_events.pxi 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/ecore/efl.ecore_events.pxi 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -90,9 +90,9 @@
def __repr__(self):
return ("%s(%#x, type=%d, func=%s, args=%s, kargs=%s, event_cls=%s, "
"Ecore_Event_Handler=%#x, refcount=%d)") % \
- (self.__class__.__name__, self,
+ (self.__class__.__name__, self,
self.type, self.func, self.args, self.kargs, self.event_cls,
- self.obj, PY_REFCOUNT(self))
+ self.obj, PY_REFCOUNT(self))
def __dealloc__(self):
if self.obj != NULL:
diff -Nru python-efl-1.17.99~201312040125/efl/ecore/efl.ecore_exe.pxi python-efl-1.8.2~201401231220/efl/ecore/efl.ecore_exe.pxi
--- python-efl-1.17.99~201312040125/efl/ecore/efl.ecore_exe.pxi 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/ecore/efl.ecore_exe.pxi 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -330,7 +330,7 @@
Py_INCREF(self)
self.exe = exe
ecore_exe_callback_pre_free_set(exe, _ecore_exe_pre_free_cb)
- _ecore_exe_event_mapping[exe] = self
+ _ecore_exe_event_mapping[exe] = self
return 1
cdef int _unset_obj(self) except 0:
@@ -339,25 +339,11 @@
filter.delete()
self.__callbacks = None
- _ecore_exe_event_mapping.pop(self.exe)
+ _ecore_exe_event_mapping.pop(self.exe)
self.exe = NULL
Py_DECREF(self)
return 1
- def __str__(self):
- if self.exe == NULL:
- pid = None
- cmd = None
- flags = ""
- data = None
- else:
- pid = self.pid
- cmd = self.cmd
- flags = exe_flags2str(self.flags)
- data = None
- return "%s(pid=%s, cmd=%r, flags=[%s], data=%r)" % \
- (self.__class__.__name__, pid, cmd, flags, data)
-
def __repr__(self):
if self.exe == NULL:
pid = None
@@ -369,10 +355,10 @@
cmd = self.cmd
flags = exe_flags2str(self.flags)
data = None
- return ("%s(%#x, Ecore_Exe=%#x, refcount=%d, pid=%s, cmd=%r, "
- "flags=[%s], data=%r)") % \
- (self.__class__.__name__, self,
- self.exe, PY_REFCOUNT(self),
+ return ("<%s(%#x, Ecore_Exe=%#x, refcount=%d, pid=%s, cmd=%r, "
+ "flags=[%s], data=%r)>") % \
+ (self.__class__.__name__, self,
+ self.exe, PY_REFCOUNT(self),
pid, cmd, flags, data)
def delete(self):
@@ -793,7 +779,7 @@
cdef int _set_obj(self, void *o) except 0:
cdef Ecore_Exe_Event_Add *obj
obj = o
- self.exe = _ecore_exe_event_mapping.get(obj.exe)
+ self.exe = _ecore_exe_event_mapping.get(obj.exe)
if self.exe is None:
return -1
return 1
@@ -815,7 +801,7 @@
cdef int _set_obj(self, void *o) except 0:
cdef Ecore_Exe_Event_Del *obj
obj = o
- self.exe = _ecore_exe_event_mapping.get(obj.exe)
+ self.exe = _ecore_exe_event_mapping.get(obj.exe)
if self.exe is None:
return -1
self.pid = obj.pid
@@ -855,7 +841,7 @@
cdef Ecore_Exe_Event_Data *obj
cdef int i
obj = o
- self.exe = _ecore_exe_event_mapping.get(obj.exe)
+ self.exe = _ecore_exe_event_mapping.get(obj.exe)
if self.exe is None:
return -1
self.data = PyUnicode_FromStringAndSize(obj.data, obj.size)
diff -Nru python-efl-1.17.99~201312040125/efl/ecore/efl.ecore_fd_handler.pxi python-efl-1.8.2~201401231220/efl/ecore/efl.ecore_fd_handler.pxi
--- python-efl-1.17.99~201312040125/efl/ecore/efl.ecore_fd_handler.pxi 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/ecore/efl.ecore_fd_handler.pxi 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -124,9 +124,9 @@
flags = flags2str(self.active_get(7))
return ("%s(%#x, func=%s, args=%s, kargs=%s, fd=%s, flags=[%s], "
"Ecore_Fd_Handler=%#x, refcount=%d)") % \
- (self.__class__.__name__, self,
+ (self.__class__.__name__, self,
self.func, self.args, self.kargs, fd, flags,
- self.obj, PY_REFCOUNT(self))
+ self.obj, PY_REFCOUNT(self))
def __dealloc__(self):
if self.obj != NULL:
diff -Nru python-efl-1.17.99~201312040125/efl/ecore/efl.ecore_file_download.pxi python-efl-1.8.2~201401231220/efl/ecore/efl.ecore_file_download.pxi
--- python-efl-1.17.99~201312040125/efl/ecore/efl.ecore_file_download.pxi 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/ecore/efl.ecore_file_download.pxi 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -109,9 +109,9 @@
def __repr__(self):
return ("%s(%#x, completion_cb=%s, progress_cb=%s, args=%s, kargs=%s, "
"Ecore_File_Download_Job=%#x, refcount=%d)") % \
- (self.__class__.__name__, self,
+ (self.__class__.__name__, self,
self.completion_cb, self.progress_cb, self.args, self.kargs,
- self.job, PY_REFCOUNT(self))
+ self.job, PY_REFCOUNT(self))
def __dealloc__(self):
if self.job != NULL:
diff -Nru python-efl-1.17.99~201312040125/efl/ecore/efl.ecore_file_monitor.pxi python-efl-1.8.2~201401231220/efl/ecore/efl.ecore_file_monitor.pxi
--- python-efl-1.17.99~201312040125/efl/ecore/efl.ecore_file_monitor.pxi 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/ecore/efl.ecore_file_monitor.pxi 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -50,16 +50,18 @@
print("ECORE_FILE_EVENT_DELETED_DIRECTORY: '%s'" % path)
elif event == ecore.ECORE_FILE_EVENT_DELETED_SELF:
print("ECORE_FILE_EVENT_DELETED_SELF: '%s'" % path)
-
+
ecore.FileMonitor("/tmp", monitor_cb)
ecore.main_loop_begin()
-
+
:param path: The complete path of the folder you want to monitor.
:type path: str
:param monitor_cb: A callback called when something change in `path`
:type monitor_cb: callable
+ .. versionadded:: 1.8
+
"""
def __init__(self, path, monitor_cb, *args, **kargs):
@@ -93,7 +95,7 @@
def __repr__(self):
return ("%s(%#x, monitor_cb=%s, args=%s, kargs=%s, refcount=%d)") % \
- (self.__class__.__name__, self,
+ (self.__class__.__name__, self,
self.monitor_cb, self.args, self.kargs, PY_REFCOUNT(self))
cdef object _exec_monitor(self, Ecore_File_Event event, const_char *path):
diff -Nru python-efl-1.17.99~201312040125/efl/ecore/efl.ecore_idler.pxi python-efl-1.8.2~201401231220/efl/ecore/efl.ecore_idler.pxi
--- python-efl-1.17.99~201312040125/efl/ecore/efl.ecore_idler.pxi 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/ecore/efl.ecore_idler.pxi 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
diff -Nru python-efl-1.17.99~201312040125/efl/ecore/efl.ecore_poller.pxi python-efl-1.8.2~201401231220/efl/ecore/efl.ecore_poller.pxi
--- python-efl-1.17.99~201312040125/efl/ecore/efl.ecore_poller.pxi 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/ecore/efl.ecore_poller.pxi 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -26,12 +26,12 @@
ecore poller parlance) for each added poller. Ecore pollers should only be
used when the poller doesn't have specific requirements on the exact times
to poll.
-
+
This architecture means that the main loop is only woken up once to handle
all pollers of that type, this will save power as the CPU has more of a
chance to go into a low power state the longer it is asleep for, so this
should be used in situations where power usage is a concern.
-
+
For now only 1 core poller type is supported: ECORE_POLLER_CORE, the default
interval for ECORE_POLLER_CORE is 0.125(or 1/8th) second.
@@ -41,19 +41,19 @@
defined. Ecore will endeavor to keep pollers synchronized and to call as
many in 1 wakeup event as possible. If `interval` is not a power of two, the
closest power of 2 greater than `interval` will be used.
-
+
When the poller `func` is called, it must return a value of either
ECORE_CALLBACK_RENEW(or True) or ECORE_CALLBACK_CANCEL(or False). If it
returns 1, it will be called again at the next tick, or if it returns
0 it will be deleted automatically making any references/handles for it
invalid.
-
+
Example::
def poller_cb():
print("Poller")
return True
-
+
ecore.Poller(4, poller_cb)
:param interval: The poll interval
@@ -62,7 +62,9 @@
:type func: callable
:param poll_type: The ticker type to attach the poller to. Must be ECORE_POLLER_CORE
:type poll_type: Ecore_Poll_Type
-
+
+ .. versionadded:: 1.8
+
"""
def __init__(self, int interval, func, pol_type=0, *args, **kargs):
if not callable(func):
diff -Nru python-efl-1.17.99~201312040125/efl/ecore/efl.ecore_timer.pxi python-efl-1.8.2~201401231220/efl/ecore/efl.ecore_timer.pxi
--- python-efl-1.17.99~201312040125/efl/ecore/efl.ecore_timer.pxi 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/ecore/efl.ecore_timer.pxi 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -82,20 +82,30 @@
ecore_timer_thaw(self.obj)
def delay(self, double add):
- """ Delay the execution of the timer by the given amount
+ """delay(float add)
+
+ Delay the execution of the timer by the given amount
:param add: seconds to add to the timer
:type add: double
+ .. versionadded:: 1.8
+
"""
ecore_timer_delay(self.obj, add)
def reset(self):
- "Reset the counter of the timer"
+ """reset()
+
+ Reset the counter of the timer
+
+ .. versionadded:: 1.8
+
+ """
ecore_timer_reset(self.obj)
property interval:
- """ The interval (in seconds) between each call of the timer
+ """The interval (in seconds) between each call of the timer
:type: double
@@ -112,16 +122,18 @@
return ecore_timer_interval_get(self.obj)
property pending:
- """ The pending time for the timer to expire
+ """The pending time for the timer to expire
:type: double
+ .. versionadded:: 1.8
+
"""
def __get__(self):
return ecore_timer_pending_get(self.obj)
- def ecore_timer_pending_get(self):
+ def pending_get(self):
ecore_timer_pending_get(self.obj)
diff -Nru python-efl-1.17.99~201312040125/efl/edje/efl.edje.pyx python-efl-1.8.2~201401231220/efl/edje/efl.edje.pyx
--- python-efl-1.17.99~201312040125/efl/edje/efl.edje.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/edje/efl.edje.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -20,6 +20,7 @@
from cpython cimport PyMem_Malloc, PyMem_Free, PyUnicode_AsUTF8String
cimport libc.stdlib
+from libc.stdint cimport uintptr_t
from efl.eo cimport _object_mapping_register, object_from_instance, \
_register_decorated_callbacks
diff -Nru python-efl-1.17.99~201312040125/efl/edje/efl.edje_edit.pyx python-efl-1.8.2~201401231220/efl/edje/efl.edje_edit.pyx
--- python-efl-1.17.99~201312040125/efl/edje/efl.edje_edit.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/edje/efl.edje_edit.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -17,6 +17,7 @@
from efl.utils.conversions cimport _touni, _ctouni, \
eina_list_strings_to_python_list
+from efl.eo cimport _register_decorated_callbacks
from efl.edje cimport Edje_Part_Type
from efl.edje import EDJE_PART_TYPE_EXTERNAL
@@ -30,9 +31,20 @@
cdef class EdjeEdit(Edje):
- def __init__(self, Canvas canvas not None, **kargs):
+ def __init__(self, Canvas canvas not None, file=None, group=None, size=None,
+ geometry=None, **kwargs):
+
self._set_obj(edje_edit_object_add(canvas.obj))
- self._set_common_params(**kargs)
+ _register_decorated_callbacks(self)
+
+ if file:
+ self.file_set(file, group)
+
+ self._set_properties_from_keyword_args(kwargs)
+
+ if not size and not geometry:
+ w, h = self.size_min_get()
+ self.size_set(w, h)
# General
def compiler_get(self):
diff -Nru python-efl-1.17.99~201312040125/efl/edje/efl.edje_edit_group.pxi python-efl-1.8.2~201401231220/efl/edje/efl.edje_edit_group.pxi
--- python-efl-1.17.99~201312040125/efl/edje/efl.edje_edit_group.pxi 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/edje/efl.edje_edit_group.pxi 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
diff -Nru python-efl-1.17.99~201312040125/efl/edje/efl.edje_edit_part.pxi python-efl-1.8.2~201401231220/efl/edje/efl.edje_edit_part.pxi
--- python-efl-1.17.99~201312040125/efl/edje/efl.edje_edit_part.pxi 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/edje/efl.edje_edit_part.pxi 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
diff -Nru python-efl-1.17.99~201312040125/efl/edje/efl.edje_edit_part_state.pxi python-efl-1.8.2~201401231220/efl/edje/efl.edje_edit_part_state.pxi
--- python-efl-1.17.99~201312040125/efl/edje/efl.edje_edit_part_state.pxi 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/edje/efl.edje_edit_part_state.pxi 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -525,7 +525,7 @@
lst = edje_edit_state_external_params_list_get(self.edje.obj, self.part,
self.name, self.value)
while lst:
- p = c_edje._ExternalParam_from_ptr(lst.data)
+ p = c_edje._ExternalParam_from_ptr(lst.data)
if p is not None:
ret.append(p)
lst = lst.next
diff -Nru python-efl-1.17.99~201312040125/efl/edje/efl.edje_edit_program.pxi python-efl-1.8.2~201401231220/efl/edje/efl.edje_edit_program.pxi
--- python-efl-1.17.99~201312040125/efl/edje/efl.edje_edit_program.pxi 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/edje/efl.edje_edit_program.pxi 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
diff -Nru python-efl-1.17.99~201312040125/efl/edje/efl.edje_external.pxi python-efl-1.8.2~201401231220/efl/edje/efl.edje_external.pxi
--- python-efl-1.17.99~201312040125/efl/edje/efl.edje_external.pxi 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/edje/efl.edje_external.pxi 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -78,7 +78,7 @@
# XXX: this should be C-only, but it would require edje_edit
# XXX: being able to use it.
-def _ExternalParam_from_ptr(long ptr):
+def _ExternalParam_from_ptr(uintptr_t ptr):
return ExternalParam_from_ptr(ptr)
diff -Nru python-efl-1.17.99~201312040125/efl/edje/efl.edje_message.pxi python-efl-1.8.2~201401231220/efl/edje/efl.edje_message.pxi
--- python-efl-1.17.99~201312040125/efl/edje/efl.edje_message.pxi 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/edje/efl.edje_message.pxi 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
diff -Nru python-efl-1.17.99~201312040125/efl/edje/efl.edje_object.pxi python-efl-1.8.2~201401231220/efl/edje/efl.edje_object.pxi
--- python-efl-1.17.99~201312040125/efl/edje/efl.edje_object.pxi 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/edje/efl.edje_object.pxi 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -127,27 +127,27 @@
def __cinit__(self, *a, **ka):
self._signal_callbacks = {}
- def __init__(self, Canvas canvas not None, **kargs):
+ def __init__(self, Canvas canvas not None, file=None, group=None, size=None,
+ geometry=None, **kwargs):
+
self._set_obj(edje_object_add(canvas.obj))
_register_decorated_callbacks(self)
- self._set_common_params(**kargs)
- def __free_wrapper_resources(self, ed):
- self._signal_callbacks.clear()
- self._text_change_cb = None
- self._message_handler_cb = None
-
- def _set_common_params(self, file=None, group=None, size=None, pos=None,
- geometry=None, color=None, name=None):
if file:
self.file_set(file, group)
- Object._set_common_params(self, size=size, pos=pos, geometry=geometry,
- color=color, name=name)
+
+ self._set_properties_from_keyword_args(kwargs)
+
if not size and not geometry:
w, h = self.size_min_get()
self.size_set(w, h)
- def __str__(self):
+ def __free_wrapper_resources(self, ed):
+ self._signal_callbacks.clear()
+ self._text_change_cb = None
+ self._message_handler_cb = None
+
+ def __repr__(self):
x, y, w, h = self.geometry_get()
r, g, b, a = self.color_get()
file, group = self.file_get()
@@ -157,19 +157,9 @@
else:
name_str = ""
clip = bool(self.clip_get() is not None)
- return ("%s(%sfile=%r, group=%r, geometry=(%d, %d, %d, %d), "
- "color=(%d, %d, %d, %d), layer=%s, clip=%s, visible=%s)") % \
- (self.__class__.__name__, name_str, file, group, x, y, w, h,
- r, g, b, a, self.layer_get(), clip, self.visible_get())
-
- def __repr__(self):
- x, y, w, h = self.geometry_get()
- r, g, b, a = self.color_get()
- file, group = self.file_get()
- clip = bool(self.clip_get() is not None)
- return ("%s(name=%r, file=%r, group=%r, geometry=(%d, %d, %d, %d), "
- "color=(%d, %d, %d, %d), layer=%s, clip=%r, visible=%s)") % \
- (self.__class__.__name__, self.name_get(), file, group,
+ return ("<%s(%sfile=%r, group=%r, geometry=(%d, %d, %d, %d), "
+ "color=(%d, %d, %d, %d), layer=%s, clip=%r, visible=%s)>") % \
+ (self.__class__.__name__, name_str, file, group,
x, y, w, h, r, g, b, a,
self.layer_get(), clip, self.visible_get())
@@ -193,6 +183,8 @@
returns data stored on the Edje (.edj), stored inside a
*data* section inside the *group* that defines this object.
+ :type: string
+
"""
if isinstance(key, unicode): key = PyUnicode_AsUTF8String(key)
return _ctouni(edje_object_data_get(self.obj,
@@ -201,8 +193,8 @@
def file_set(self, file, group):
"""Set the file (.edj) and the group to load the Edje object from.
- :param file: the name of the file to load
- :param group: the name of the group inside the edj to load
+ :param string file: the name of the file to load
+ :param string group: the name of the group inside the edj to load
:raise EdjeLoadError: if error occurred during load.
@@ -218,7 +210,7 @@
"""Get the file and group used to load the object.
:return: the tuple (file, group)
- :rtype: tuple for str
+ :rtype: tuple of str
"""
cdef const_char *file, *group
@@ -290,6 +282,8 @@
:type cancel: bool
:rtype: bool
+ .. versionadded:: 1.8
+
"""
return bool(edje_object_preload(self.obj, cancel))
@@ -362,7 +356,15 @@
size)
property scale:
- """The scaling factor for a given Edje object."""
+ """
+
+ The scaling factor for a given Edje object.
+
+ :type: float
+
+ .. versionadded:: 1.8
+
+ """
def __set__(self, double scale):
edje_object_scale_set(self.obj, scale)
@@ -375,7 +377,15 @@
return edje_object_scale_get(self.obj)
property mirrored:
- """The RTL orientation for this object."""
+ """
+
+ The RTL orientation for this object.
+
+ :type: int
+
+ .. versionadded:: 1.8
+
+ """
def __set__(self, int rtl):
edje_object_mirrored_set(self.obj, rtl)
@@ -432,6 +442,8 @@
:warning: Be advised that invisible parts in the object obj will be
taken into account in this calculation.
+ .. versionadded:: 1.8
+
"""
cdef int w, h
edje_object_size_min_restricted_calc(self.obj, &w, &h, minw, minh)
@@ -460,6 +472,8 @@
:type: bool
+ .. versionadded:: 1.8
+
"""
def __get__(self):
return bool(edje_object_update_hints_get(self.obj))
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/__init__.py python-efl-1.8.2~201401231220/efl/elementary/__init__.py
--- python-efl-1.17.99~201312040125/efl/elementary/__init__.py 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/__init__.py 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -19,16 +19,6 @@
from efl.elementary.general import *
from efl.elementary.need import *
-# XXX: These are deprecated here! Will be removed soon.
-from efl.utils.deprecated import DEPRECATED
-from efl.elementary.theme import theme_overlay_add, theme_extension_add
-from efl.elementary.configuration import preferred_engine_set
-theme_overlay_add = DEPRECATED("1.8", "Use theme module instead.")(theme_overlay_add)
-theme_extension_add = DEPRECATED("1.8", "Use theme module instead.")(theme_extension_add)
-preferred_engine_set = DEPRECATED("1.8", "Use configuration module instead.")(preferred_engine_set)
-ELM_WIN_BASIC = 0
-ELM_OBJECT_SELECT_MODE_ALWAYS = 1
-
__all__ = (
#"access",
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/access.pyx python-efl-1.8.2~201401231220/efl/elementary/access.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/access.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/access.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/actionslider.pyx python-efl-1.8.2~201401231220/efl/elementary/actionslider.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/actionslider.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/actionslider.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -42,19 +42,19 @@
magnetized" position.
This widget emits the following signals, besides the ones sent from
-:py:class:`efl.elementary.layout_class.LayoutClass`:
+:py:class:`~efl.elementary.layout_class.LayoutClass`:
-- **selected** - when user selects an enabled position (the label is
+- ``selected`` - when user selects an enabled position (the label is
passed as event info)".
-- **pos_changed** - when the indicator reaches any of the
+- ``pos_changed`` - when the indicator reaches any of the
positions("left", "right" or "center").
Default text parts of the actionslider widget that you can use for are:
-- **indicator** - An indicator label of the actionslider
-- **left** - A left label of the actionslider
-- **right** - A right label of the actionslider
-- **center** - A center label of the actionslider
+- ``indicator`` - An indicator label of the actionslider
+- ``left`` - A left label of the actionslider
+- ``right`` - A right label of the actionslider
+- ``center`` - A center label of the actionslider
Enumerations
@@ -88,6 +88,7 @@
from cpython cimport PyUnicode_AsUTF8String
from libc.string cimport const_char
+from libc.stdint cimport uintptr_t
from efl.eo cimport _object_mapping_register
from efl.utils.conversions cimport _ctouni
@@ -102,7 +103,7 @@
ELM_ACTIONSLIDER_RIGHT = enums.ELM_ACTIONSLIDER_RIGHT
ELM_ACTIONSLIDER_ALL = enums.ELM_ACTIONSLIDER_ALL
-def _cb_string_conv(long addr):
+def _cb_string_conv(uintptr_t addr):
cdef const_char *s = addr
return _ctouni(s) if s is not NULL else None
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/background.pyx python-efl-1.8.2~201401231220/efl/elementary/background.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/background.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/background.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -34,7 +34,7 @@
Default content parts of the bg widget that you can use for are:
-- **overlay** - overlay of the bg
+- ``overlay`` - overlay of the bg
Enumerations
@@ -65,7 +65,7 @@
from cpython cimport PyUnicode_AsUTF8String
-from efl.eo cimport _object_mapping_register
+from efl.eo cimport _object_mapping_register, Eo
from efl.utils.conversions cimport _ctouni
from efl.evas cimport Object as evasObject
from layout_class cimport LayoutClass
@@ -86,6 +86,10 @@
self._set_obj(elm_bg_add(parent.obj))
self._set_properties_from_keyword_args(kwargs)
+ cdef int _set_properties_from_keyword_args(self, dict kwargs) except 0:
+ # Bypass the Evas one so that color works as expected
+ return Eo._set_properties_from_keyword_args(self, kwargs)
+
property file:
"""The file (image or edje collection) giving life for the background.
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/box.pyx python-efl-1.8.2~201401231220/efl/elementary/box.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/box.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/box.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/bubble.pyx python-efl-1.8.2~201401231220/efl/elementary/bubble.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/bubble.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/bubble.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -40,13 +40,13 @@
The position of the arrow, icon, label and info depends on which corner is
selected. The four available corners are:
-- **top_left** - Default
-- **top_right**
-- **bottom_left**
-- **bottom_right**
+- ``top_left`` - Default
+- ``top_right``
+- ``bottom_left``
+- ``bottom_right``
This widget emits the following signals, besides the ones sent from
-:py:class:`efl.elementary.layout_class.LayoutClass`:
+:py:class:`~efl.elementary.layout_class.LayoutClass`:
- ``clicked`` - This is called when a user has clicked the bubble.
- ``focused`` - When the bubble has received focus. (since 1.8)
@@ -54,13 +54,13 @@
Default content parts of the bubble that you can use for are:
-- **default** - A content of the bubble
-- **icon** - An icon of the bubble
+- ``default`` - A content of the bubble
+- ``icon`` - An icon of the bubble
Default text parts of the button widget that you can use for are:
-- **default** - Label of the bubble
-- **info** - info of the bubble
+- ``default`` - Label of the bubble
+- ``info`` - info of the bubble
Enumerations
@@ -142,7 +142,8 @@
def callback_focused_add(self, func, *args, **kwargs):
"""When the bubble has received focus.
- :since: 1.8
+ .. versionadded:: 1.8
+
"""
self._callback_add("focused", func, *args, **kwargs)
@@ -152,7 +153,8 @@
def callback_unfocused_add(self, func, *args, **kwargs):
"""When the bubble has lost focus.
- :since: 1.8
+ .. versionadded:: 1.8
+
"""
self._callback_add("unfocused", func, *args, **kwargs)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/button.pyx python-efl-1.8.2~201401231220/efl/elementary/button.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/button.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/button.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -39,27 +39,27 @@
Also, defined in the default theme, the button has the following styles
available:
-- default: a normal button.
-- anchor: Like default, but the button fades away when the mouse is not
+- ``default``: a normal button.
+- ``anchor``: Like default, but the button fades away when the mouse is not
over it, leaving only the text or icon.
-- hoversel_vertical: Internally used by
+- ``hoversel_vertical``: Internally used by
:py:class:`~efl.elementary.hoversel.Hoversel` to give a continuous look
across its options.
-- hoversel_vertical_entry: Another internal for
+- ``hoversel_vertical_entry``: Another internal for
:py:class:`~efl.elementary.hoversel.Hoversel`.
-- naviframe: Internally used by
+- ``naviframe``: Internally used by
:py:class:`~efl.elementary.naviframe.Naviframe` for its back button.
-- colorselector: Internally used by
+- ``colorselector``: Internally used by
:py:class:`~efl.elementary.colorselector.Colorselector` for its left and
right buttons.
Default content parts of the button widget that you can use for are:
-- "icon" - An icon of the button
+- ``icon`` - An icon of the button
Default text parts of the button widget that you can use for are:
-- "default" - Label of the button
+- ``default`` - Label of the button
"""
@@ -176,7 +176,8 @@
def callback_focused_add(self, func, *args, **kwargs):
"""When the button has received focus.
- :since: 1.8
+ .. versionadded:: 1.8
+
"""
self._callback_add("focused", func, *args, **kwargs)
@@ -186,7 +187,8 @@
def callback_unfocused_add(self, func, *args, **kwargs):
"""When the button has lost focus.
- :since: 1.8
+ .. versionadded:: 1.8
+
"""
self._callback_add("unfocused", func, *args, **kwargs)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/calendar_elm.pyx python-efl-1.8.2~201401231220/efl/elementary/calendar_elm.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/calendar_elm.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/calendar_elm.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -37,7 +37,7 @@
- setting the year and month format.
This widget emits the following signals, besides the ones sent from
-:py:class:`efl.elementary.layout_class.LayoutClass`:
+:py:class:`~efl.elementary.layout_class.LayoutClass`:
- ``changed`` - emitted when the date in the calendar is changed.
- ``display,changed`` - emitted when the current month displayed in the
@@ -217,18 +217,15 @@
Example::
- import time
- from datetime import date
+ from datetime import date, timedelta
cal = Calendar(win)
- current_time = time.time() + 5 * 86400
- selected_time = date.fromtimestamp(current_time)
- CalendarMark(cal, "holiday", selected_time, ELM_CALENDAR_ANNUALLY)
-
- current_time = time.time() + 1 * 86400
- selected_time = date.fromtimestamp(current_time)
- CalendarMark(cal, "checked", selected_time, ELM_CALENDAR_UNIQUE)
+ selected_time = date.today() + timedelta(5)
+ cal.mark_add("holiday", selected_time, ELM_CALENDAR_ANNUALLY)
+
+ selected_time = date.today() + timedelta(1)
+ cal.mark_add("checked", selected_time, ELM_CALENDAR_UNIQUE)
cal.marks_draw()
@@ -274,8 +271,9 @@
Delete a mark from the calendar.
- If deleting all calendar marks is required, ``del`` :py:attr:`marks`
- should be used instead of getting marks list and deleting each one.
+ If deleting all calendar marks is required, ``del``
+ :py:attr:`Calendar.marks` should be used instead of getting marks list
+ and deleting each one.
.. seealso:: :py:meth:`Calendar.mark_add`
@@ -365,10 +363,14 @@
:type: datetime.date
+ .. versionchanged:: 1.8
+ Returns None when the selected date cannot be fetched.
+
"""
def __get__(self):
cdef tm time
- elm_calendar_selected_time_get(self.obj, &time)
+ if not elm_calendar_selected_time_get(self.obj, &time):
+ return None
ret = date( time.tm_year + 1900,
time.tm_mon + 1,
time.tm_mday)
@@ -523,6 +525,8 @@
:type: :ref:`Elm_Calendar_Selectable`
+ .. versionadded:: 1.8
+
"""
def __set__(self, Elm_Calendar_Selectable selectable):
elm_calendar_selectable_set(self.obj, selectable)
@@ -535,10 +539,13 @@
:type: datetime.date
+ .. versionadded:: 1.8
+
"""
def __get__(self):
cdef tm time
- elm_calendar_displayed_time_get(self.obj, &time)
+ if not elm_calendar_displayed_time_get(self.obj, &time):
+ return None
ret = date( time.tm_year + 1900,
time.tm_mon + 1,
time.tm_mday)
@@ -561,7 +568,7 @@
def callback_focused_add(self, func, *args, **kwargs):
"""When the calendar has received focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("focused", func, *args, **kwargs)
@@ -571,7 +578,7 @@
def callback_unfocused_add(self, func, *args, **kwargs):
"""When the calendar has lost focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("unfocused", func, *args, **kwargs)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/check.pyx python-efl-1.8.2~201401231220/efl/elementary/check.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/check.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/check.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -40,13 +40,13 @@
Default content parts of the check widget that you can use for are:
-- "icon" - An icon of the check
+- ``icon`` - An icon of the check
Default text parts of the check widget that you can use for are:
-- "default" - A label of the check
-- "on" - On state label of the check
-- "off" - Off state label of the check
+- ``default`` - A label of the check
+- ``on`` - On state label of the check
+- ``off`` - Off state label of the check
"""
@@ -94,7 +94,7 @@
def callback_focused_add(self, func, *args, **kwargs):
"""When the check has received focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("focused", func, *args, **kwargs)
@@ -104,7 +104,7 @@
def callback_unfocused_add(self, func, *args, **kwargs):
"""When the check has lost focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("unfocused", func, *args, **kwargs)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/clock.pyx python-efl-1.8.2~201401231220/efl/elementary/clock.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/clock.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/clock.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -290,7 +290,7 @@
def callback_focused_add(self, func, *args, **kwargs):
"""When the clock has received focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("focused", func, *args, **kwargs)
@@ -300,7 +300,7 @@
def callback_unfocused_add(self, func, *args, **kwargs):
"""When the clock has lost focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("unfocused", func, *args, **kwargs)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/cnp_callbacks.pxi python-efl-1.8.2~201401231220/efl/elementary/cnp_callbacks.pxi
--- python-efl-1.17.99~201312040125/efl/elementary/cnp_callbacks.pxi 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/cnp_callbacks.pxi 2014-01-18 12:24:01.000000000 +0000
@@ -100,7 +100,8 @@
"""The action to perform with the data
:type: :ref:`Elm_Object_Xdnd_Action`
- :since: 1.8
+
+ .. versionadded:: 1.8
"""
def __get__(self):
@@ -190,7 +191,8 @@
:param yoff: A return coordinate for the Y offset at which to place
the drag icon object relative to the source drag object
:return: An object to fill the drag window with or NULL if not needed
- :since: 1.8
+
+ .. versionadded:: 1.8
"""
assert data != NULL, "data is NULL"
@@ -233,7 +235,8 @@
:param data: Application specific data
:param obj: The object where the drag started
- :since: 1.8
+
+ .. versionadded:: 1.8
"""
print("in drag_state_cb")
@@ -244,7 +247,8 @@
:param data: Application specific data
:param obj: The object where the drag started
:param accepted: TRUE if the droppped-data is accepted on drop
- :since: 1.8
+
+ .. versionadded:: 1.8
"""
assert data != NULL, "data is NULL"
@@ -265,7 +269,8 @@
:param data: Application specific data
:param obj: The object where the drag started
:param doaccept: A boolean as to if the target accepts the drag or not
- :since: 1.8
+
+ .. versionadded:: 1.8
"""
print("in drag_accept_cb")
@@ -278,7 +283,8 @@
:param obj: The object where the drag started
:param x: The X coordinate relative to the top-left of the object
:param y: The Y coordinate relative to the top-left of the object
- :since: 1.8
+
+ .. versionadded:: 1.8
"""
print("in drag_pos_cb")
@@ -310,7 +316,8 @@
:param xposret: Position relative to item (left (-1), middle (0), right (1)
:param yposret: Position relative to item (upper (-1), middle (0), bottom (1)
:param action: The drag action to be done
- :since: 1.8
+
+ .. versionadded:: 1.8
"""
print("in drag_item_container_pos")
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/colorselector.pyx python-efl-1.8.2~201401231220/efl/elementary/colorselector.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/colorselector.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/colorselector.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -18,11 +18,12 @@
"""
-.. image:: /images/colorselector-preview.png
-
Widget description
------------------
+.. image:: /images/colorselector-preview.png
+ :align: left
+
A Colorselector is a color selection widget.
It allows application to set a series of colors. It also allows to
@@ -68,6 +69,7 @@
"""
from cpython cimport PyUnicode_AsUTF8String, Py_DECREF
+from libc.stdint cimport uintptr_t
from efl.eo cimport _object_mapping_register
from efl.utils.conversions cimport _ctouni
@@ -81,7 +83,7 @@
ELM_COLORSELECTOR_COMPONENTS = enums.ELM_COLORSELECTOR_COMPONENTS
ELM_COLORSELECTOR_BOTH = enums.ELM_COLORSELECTOR_BOTH
-def _cb_object_item_conv(long addr):
+def _cb_object_item_conv(uintptr_t addr):
cdef Elm_Object_Item *it = addr
return _object_item_to_python(it)
@@ -99,13 +101,13 @@
cdef Elm_Object_Item *item
item = elm_colorselector_palette_color_add(
cs.obj, self.r, self.g, self.b, self.a)
- if item != NULL:
- self._set_obj(item)
- self._set_properties_from_keyword_args(self.kwargs)
- return self
- else:
- # FIXME: raise RuntimeError?
- return None
+
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
property color:
"""The palette items color.
@@ -260,7 +262,7 @@
def callback_focused_add(self, func, *args, **kwargs):
"""When the check has received focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("focused", func, *args, **kwargs)
@@ -270,7 +272,7 @@
def callback_unfocused_add(self, func, *args, **kwargs):
"""When the check has lost focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("unfocused", func, *args, **kwargs)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/configuration.pyx python-efl-1.8.2~201401231220/efl/elementary/configuration.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/configuration.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/configuration.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -299,6 +299,8 @@
:type: int
+ .. versionadded:: 1.8
+
"""
def __get__(self):
return elm_config_scroll_thumbscroll_hold_threshold_get()
@@ -326,7 +328,7 @@
:type: int
- :see: elm_config_thumbscroll_flick_distance_tolerance_get()
+ .. versionadded:: 1.8
"""
def __get__(self):
@@ -354,7 +356,7 @@
:type: float
- :see: elm_config_thumbscroll_min_friction_get()
+ .. versionadded:: 1.8
"""
def __get__(self):
@@ -371,8 +373,6 @@
:type: float
- :see: elm_config_thumbscroll_friction_standard_get()
-
"""
def __get__(self):
return elm_config_scroll_thumbscroll_friction_standard_get()
@@ -388,6 +388,8 @@
:type: float
+ .. versionadded:: 1.8
+
"""
def __get__(self):
return elm_config_scroll_thumbscroll_border_friction_get()
@@ -416,6 +418,8 @@
:type: float
+ .. versionadded:: 1.8
+
"""
def __get__(self):
return elm_config_scroll_thumbscroll_acceleration_threshold_get()
@@ -427,6 +431,8 @@
:type: float
+ .. versionadded:: 1.8
+
"""
def __get__(self):
return elm_config_scroll_thumbscroll_acceleration_time_limit_get()
@@ -438,6 +444,8 @@
:type: float
+ .. versionadded:: 1.8
+
"""
def __get__(self):
return elm_config_scroll_thumbscroll_acceleration_weight_get()
@@ -465,6 +473,8 @@
:type: :ref:`Elm_Softcursor_Mode`
+ .. versionadded:: 1.8
+
"""
def __set__(self, Elm_Softcursor_Mode mode):
elm_config_softcursor_mode_set(mode)
@@ -678,6 +688,8 @@
:type: bool
+ .. versionadded:: 1.8
+
"""
def __get__(self):
return bool(elm_config_selection_unfocused_clear_get())
@@ -857,9 +869,10 @@
Clouseau state. True if clouseau was tried to be run.
- :since: 1.8
:return: True if clouseau was tried to run, False otherwise
+ .. versionadded:: 1.8
+
"""
def __get__(self):
return bool(elm_config_clouseau_enabled_get())
@@ -875,6 +888,8 @@
:return: The indicator service name according to the rotation degree.
+ .. versionadded:: 1.8
+
"""
return _ctouni(elm_config_indicator_service_get(rotation))
@@ -885,6 +900,8 @@
:type: float
+ .. versionadded:: 1.8
+
"""
def __get__(self):
return elm_config_glayer_long_tap_start_timeout_get()
@@ -898,6 +915,8 @@
:return: Timeout for double tap event of gesture layer.
+ .. versionadded:: 1.8
+
"""
def __get__(self):
return elm_config_glayer_double_tap_timeout_get()
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/conformant.pyx python-efl-1.8.2~201401231220/efl/elementary/conformant.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/conformant.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/conformant.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -31,20 +31,20 @@
shows when an entry is selected, conformant content won't change.
This widget emits the following signals, besides the ones sent from
-:py:class:`efl.elementary.layout_class.LayoutClass`:
+:py:class:`~efl.elementary.layout_class.LayoutClass`:
-- "virtualkeypad,state,on": if virtualkeypad state is switched to "on".
-- "virtualkeypad,state,off": if virtualkeypad state is switched to "off".
-- "clipboard,state,on": if clipboard state is switched to "on".
-- "clipboard,state,off": if clipboard state is switched to "off".
+- ``virtualkeypad,state,on``: if virtualkeypad state is switched to ``on``.
+- ``virtualkeypad,state,off``: if virtualkeypad state is switched to ``off``.
+- ``clipboard,state,on``: if clipboard state is switched to ``on``.
+- ``clipboard,state,off``: if clipboard state is switched to ``off``.
In all cases, the ``event`` parameter of the callback will be None.
Available styles for it:
- - ``"default"``
+ - ``default``
Default content parts of the conformant widget that you can use for are:
- - "default" - A content of the conformant
+ - ``default`` - A content of the conformant
"""
@@ -63,7 +63,9 @@
def callback_virtualkeypad_state_on_add(self, func, *args, **kwargs):
"""if virtualkeypad state is switched to "on".
- :since: 1.8"""
+ .. versionadded:: 1.8
+
+ """
self._callback_add("virtualkeypad,state,on", func, *args, **kwargs)
def callback_virtualkeypad_state_on_del(self, func):
@@ -72,7 +74,9 @@
def callback_virtualkeypad_state_off_add(self, func, *args, **kwargs):
"""if virtualkeypad state is switched to "off".
- :since: 1.8"""
+ .. versionadded:: 1.8
+
+ """
self._callback_add("virtualkeypad,state,off", func, *args, **kwargs)
def callback_virtualkeypad_state_off_del(self, func):
@@ -81,7 +85,9 @@
def callback_clipboard_state_on_add(self, func, *args, **kwargs):
"""if clipboard state is switched to "on".
- :since: 1.8"""
+ .. versionadded:: 1.8
+
+ """
self._callback_add("clipboard,state,on", func, *args, **kwargs)
def callback_clipboard_state_on_del(self, func):
@@ -90,7 +96,9 @@
def callback_clipboard_state_off_add(self, func, *args, **kwargs):
"""if clipboard state is switched to "off".
- :since: 1.8"""
+ .. versionadded:: 1.8
+
+ """
self._callback_add("clipboard,state,off", func, *args, **kwargs)
def callback_clipboard_state_off_del(self, func):
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/ctxpopup.pyx python-efl-1.8.2~201401231220/efl/elementary/ctxpopup.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/ctxpopup.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/ctxpopup.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -44,15 +44,15 @@
Default content parts of the ctxpopup widget that you can use for are:
-- "default" - A content of the ctxpopup
+- ``default`` - A content of the ctxpopup
Default content parts of the ctxpopup items that you can use for are:
-- "icon" - An icon in the title area
+- ``icon`` - An icon in the title area
Default text parts of the ctxpopup items that you can use for are:
-- "default" - Title label in the title area
+- ``default`` - Title label in the title area
.. note::
@@ -122,7 +122,7 @@
removed.
:param icon: Icon to be set on new item
- :type icon: :py:class:`evas.object.Object`
+ :type icon: :py:class:`~efl.evas.Object`
:param label: The Label of the new item
:type label: string
:param func: Convenience function called when item selected
@@ -171,17 +171,21 @@
self.icon.obj if self.icon is not None else NULL,
cb, self)
- if item != NULL:
- self._set_obj(item)
- self._set_properties_from_keyword_args(self.kwargs)
- return self
- else:
- # FIXME: raise RuntimeError?
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
cdef class Ctxpopup(LayoutClass):
- """This is the class that actually implements the widget."""
+ """This is the class that actually implements the widget.
+
+ .. versionchanged:: 1.8
+ Inherits from LayoutClass
+
+ """
def __init__(self, evasObject parent, *args, **kwargs):
self._set_obj(elm_ctxpopup_add(parent.obj))
@@ -329,7 +333,7 @@
def callback_focused_add(self, func, *args, **kwargs):
"""When the ctxpopup has received focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("focused", func, *args, **kwargs)
@@ -339,7 +343,7 @@
def callback_unfocused_add(self, func, *args, **kwargs):
"""When the ctxpopup has lost focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("unfocused", func, *args, **kwargs)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/datetime_elm.pyx python-efl-1.8.2~201401231220/efl/elementary/datetime_elm.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/datetime_elm.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/datetime_elm.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -393,12 +393,19 @@
Minute: default value range is from 0 to 59.
+ :raise RuntimeError: when the max value could not be set.
+
:type: datetime.datetime
+ .. versionchanged:: 1.8
+ Returns None when the max value cannot be fetched, raise
+ RuntimeError when setting the max value failed.
+
"""
def __get__(self):
cdef tm time
- elm_datetime_value_max_get(self.obj, &time)
+ if not elm_datetime_value_max_get(self.obj, &time):
+ return None
ret = datetime( time.tm_year + 1900,
time.tm_mon + 1,
time.tm_mday,
@@ -419,7 +426,8 @@
time.tm_wday = tmtup.tm_wday
time.tm_yday = tmtup.tm_yday
time.tm_isdst = tmtup.tm_isdst
- elm_datetime_value_max_set(self.obj, &time)
+ if not elm_datetime_value_max_set(self.obj, &time):
+ raise RuntimeError
property value_min:
"""The lower boundary of a field.
@@ -435,12 +443,19 @@
Minute: default value range is from 0 to 59.
+ :raise RuntimeError: when the min value could not be set.
+
:type: datetime.datetime
+ .. versionchanged:: 1.8
+ Returns None when the min value cannot be fetched, raise
+ RuntimeError when setting the min value failed.
+
"""
def __get__(self):
cdef tm time
- elm_datetime_value_min_get(self.obj, &time)
+ if not elm_datetime_value_min_get(self.obj, &time):
+ return None
ret = datetime( time.tm_year + 1900,
time.tm_mon + 1,
time.tm_mday,
@@ -461,7 +476,8 @@
time.tm_wday = tmtup.tm_wday
time.tm_yday = tmtup.tm_yday
time.tm_isdst = tmtup.tm_isdst
- elm_datetime_value_min_set(self.obj, &time)
+ if not elm_datetime_value_min_set(self.obj, &time):
+ raise RuntimeError
def field_limit_get(self, Elm_Datetime_Field_Type fieldtype):
"""Get the field limits of a field.
@@ -511,12 +527,19 @@
Minute: default value range is from 0 to 59.
+ :raise RuntimeError: when the value could not be set.
+
:type: datetime.datetime
+ .. versionchanged:: 1.8
+ Returns None when the value cannot be fetched, raise RuntimeError
+ when setting the value failed.
+
"""
def __get__(self):
cdef tm time
- elm_datetime_value_get(self.obj, &time)
+ if not elm_datetime_value_get(self.obj, &time):
+ return None
ret = datetime( time.tm_year + 1900,
time.tm_mon + 1,
time.tm_mday,
@@ -537,7 +560,8 @@
time.tm_wday = tmtup.tm_wday
time.tm_yday = tmtup.tm_yday
time.tm_isdst = tmtup.tm_isdst
- elm_datetime_value_set(self.obj, &time)
+ if not elm_datetime_value_set(self.obj, &time):
+ raise RuntimeError
def field_visible_get(self, fieldtype):
"""field_visible_get(int fieldtype) -> bool
@@ -595,7 +619,7 @@
def callback_focused_add(self, func, *args, **kwargs):
"""When the datetime has received focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("focused", func, *args, **kwargs)
@@ -605,7 +629,7 @@
def callback_unfocused_add(self, func, *args, **kwargs):
"""When the datetime has lost focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("unfocused", func, *args, **kwargs)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/dayselector.pyx python-efl-1.8.2~201401231220/efl/elementary/dayselector.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/dayselector.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/dayselector.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -50,9 +50,9 @@
"day6" indicates the Saturday part name.
Application can change individual day display string by using the API
-:py:meth:`efl.elementary.object.Object.part_text_set`.
+:py:meth:`~efl.elementary.object.Object.part_text_set`.
-:py:meth:`efl.elementary.object.Object.part_content_set` API sets the
+:py:meth:`~efl.elementary.object.Object.part_content_set` API sets the
individual day object only if the passed one is a Check widget.
Check object representing a day can be set/get by the application by using
@@ -60,14 +60,14 @@
the different check styles for individual days.
This widget emits the following signals, besides the ones sent from
-:py:class:`efl.elementary.layout_class.LayoutClass`:
+:py:class:`~efl.elementary.layout_class.LayoutClass`:
-- ``"dayselector,changed"`` - when the user changes the state of a day.
-- ``"language,changed"`` - the program's language changed
+- ``dayselector,changed`` - when the user changes the state of a day.
+- ``language,changed`` - the program's language changed
Available styles for dayselector are:
-- default
+- ``default``
Enumerations
@@ -213,10 +213,9 @@
dayselector.weekdays_names = ["Sunday", "Monday", "Tuesday",
"Wednesday", "Thursday", "Friday", "Saturday"]
- :see: elm_dayselector_weekdays_name_get()
- :see: elm_dayselector_weekend_start_set()
+ :see: :py:attr:`weekend_start`
- :since: 1.8
+ .. versionadded:: 1.8
"""
def __set__(self, list weekdays):
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/diskselector.pyx python-efl-1.8.2~201401231220/efl/elementary/diskselector.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/diskselector.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/diskselector.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -42,17 +42,17 @@
Available styles for it:
-- ``"default"``
+- ``default``
Default content parts of the diskselector items that you can use for are:
-- "icon" - An icon in the diskselector item
+- ``icon`` - An icon in the diskselector item
Default text parts of the diskselector items that you can use for are:
-- "default" - Label of the diskselector item
+- ``default`` - Label of the diskselector item
-.. note:: The "scroll,anim,*" and "scroll,drag,*" signals are only emitted
+.. note:: The ``scroll,anim,*`` and ``scroll,drag,*`` signals are only emitted
by user intervention.
Scrollable Interface
@@ -72,6 +72,7 @@
"""
from cpython cimport PyUnicode_AsUTF8String, Py_DECREF
+from libc.stdint cimport uintptr_t
from efl.eo cimport _object_mapping_register
from efl.utils.conversions cimport _ctouni
@@ -84,7 +85,7 @@
from scroller cimport elm_scroller_policy_get, elm_scroller_policy_set, \
elm_scroller_bounce_get, elm_scroller_bounce_set, Elm_Scroller_Policy
-def _cb_object_item_conv(long addr):
+def _cb_object_item_conv(uintptr_t addr):
cdef Elm_Object_Item *it = addr
return _object_item_to_python(it)
@@ -110,15 +111,13 @@
Simple example (with no function callback or data associated)::
disk = Diskselector(win)
- ic = Icon(win)
- ic.file_set("path/to/image")
- ic.resizable_set(EINA_TRUE, EINA_TRUE)
+ ic = Icon(win, file="path/to/image", resizable=(True, True))
disk.item_append("label", ic)
.. seealso::
- :py:func:`elementary.object_item.ObjectItem.delete()`
- :py:func:`clear()`
- :py:class:`elementary.image.Image`
+ :py:meth:`~efl.elementary.object_item.ObjectItem.delete`
+ :py:meth:`Diskselector.clear`
+ :py:class:`~efl.elementary.image.Image`
"""
@@ -171,12 +170,12 @@
self.icon.obj if self.icon is not None else NULL,
cb, self)
- if item != NULL:
- self._set_obj(item)
- self._set_properties_from_keyword_args(self.kwargs)
- return self
- else:
- Py_DECREF(self)
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
property selected:
"""The selected state of an item.
@@ -472,7 +471,7 @@
def callback_focused_add(self, func, *args, **kwargs):
"""When the diskselector has received focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("focused", func, *args, **kwargs)
@@ -482,7 +481,7 @@
def callback_unfocused_add(self, func, *args, **kwargs):
"""When the diskselector has lost focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("unfocused", func, *args, **kwargs)
@@ -491,6 +490,12 @@
property scroller_policy:
+ """
+
+ .. deprecated:: 1.8
+ You should combine with Scrollable class instead.
+
+ """
def __get__(self):
return self.scroller_policy_get()
@@ -509,6 +514,12 @@
return (policy_h, policy_v)
property bounce:
+ """
+
+ .. deprecated:: 1.8
+ You should combine with Scrollable class instead.
+
+ """
def __get__(self):
return self.bounce_get()
def __set__(self, value):
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/entry.pyx python-efl-1.8.2~201401231220/efl/elementary/entry.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/entry.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/entry.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -214,51 +214,52 @@
This widget emits the following signals:
-- "changed": The text within the entry was changed.
-- "changed,user": The text within the entry was changed because of user
+- ``changed``: The text within the entry was changed.
+- ``changed,user``: The text within the entry was changed because of user
interaction.
-- "activated": The enter key was pressed on a single line entry.
-- "aborted": The escape key was pressed on a single line entry. (since 1.7)
-- "press": A mouse button has been pressed on the entry.
-- "longpressed": A mouse button has been pressed and held for a couple
+- ``activated``: The enter key was pressed on a single line entry.
+- ``aborted``: The escape key was pressed on a single line entry. (since 1.7)
+- ``press``: A mouse button has been pressed on the entry.
+- ``longpressed``: A mouse button has been pressed and held for a couple
seconds.
-- "clicked": The entry has been clicked (mouse press and release).
-- "clicked,double": The entry has been double clicked.
-- "clicked,triple": The entry has been triple clicked.
-- "focused": The entry has received focus.
-- "unfocused": The entry has lost focus.
-- "selection,paste": A paste of the clipboard contents was requested.
-- "selection,copy": A copy of the selected text into the clipboard was
+- ``clicked``: The entry has been clicked (mouse press and release).
+- ``clicked,double``: The entry has been double clicked.
+- ``clicked,triple``: The entry has been triple clicked.
+- ``focused``: The entry has received focus.
+- ``unfocused``: The entry has lost focus.
+- ``selection,paste``: A paste of the clipboard contents was requested.
+- ``selection,copy``: A copy of the selected text into the clipboard was
requested.
-- "selection,cut": A cut of the selected text into the clipboard was
+- ``selection,cut``: A cut of the selected text into the clipboard was
requested.
-- "selection,start": A selection has begun and no previous selection
+- ``selection,start``: A selection has begun and no previous selection
existed.
-- "selection,changed": The current selection has changed.
-- "selection,cleared": The current selection has been cleared.
-- "cursor,changed": The cursor has changed position.
-- "anchor,clicked": An anchor has been clicked. The event_info
+- ``selection,changed``: The current selection has changed.
+- ``selection,cleared``: The current selection has been cleared.
+- ``cursor,changed``: The cursor has changed position.
+- ``anchor,clicked``: An anchor has been clicked. The event_info
parameter for the callback will be an :py:class:`EntryAnchorInfo`.
-- "anchor,in": Mouse cursor has moved into an anchor. The event_info
+- ``anchor,in``: Mouse cursor has moved into an anchor. The event_info
parameter for the callback will be an :py:class:`EntryAnchorInfo`.
-- "anchor,out": Mouse cursor has moved out of an anchor. The event_info
+- ``anchor,out``: Mouse cursor has moved out of an anchor. The event_info
parameter for the callback will be an :py:class:`EntryAnchorInfo`.
-- "anchor,up": Mouse button has been unpressed on an anchor. The event_info
+- ``anchor,up``: Mouse button has been unpressed on an anchor. The event_info
parameter for the callback will be an :py:class:`EntryAnchorInfo`.
-- "anchor,down": Mouse button has been pressed on an anchor. The event_info
+- ``anchor,down``: Mouse button has been pressed on an anchor. The event_info
parameter for the callback will be an :py:class:`EntryAnchorInfo`.
-- "preedit,changed": The preedit string has changed.
-- "language,changed": Program language changed.
-- "text,set,done": Whole text has been set to the entry.
+- ``preedit,changed``: The preedit string has changed.
+- ``language,changed``: Program language changed.
+- ``text,set,done``: Whole text has been set to the entry.
Default content parts of the entry items that you can use for are:
-- "icon" - An icon in the entry
-- "end" - A content in the end of the entry
+- ``icon`` - An icon in the entry
+- ``end`` - A content in the end of the entry
Default text parts of the entry that you can use for are:
-- "default" - text of the entry
+- ``default`` - text of the entry
+- ``guide`` - placeholder of the entry
Enumerations
@@ -468,12 +469,14 @@
from libc.string cimport strdup
from libc.stdlib cimport free
+from libc.stdint cimport uintptr_t
from cpython cimport PyUnicode_AsUTF8String, Py_INCREF
from efl.eo cimport _object_mapping_register, object_from_instance
from efl.utils.conversions cimport _touni, _ctouni
from efl.evas cimport Object as evasObject
from object cimport Object
+from layout_class cimport LayoutClass
from hover cimport Hover
from efl.utils.deprecated cimport DEPRECATED
@@ -544,12 +547,14 @@
@DEPRECATED("1.8", "Use markup_to_utf8() instead.")
def Entry_markup_to_utf8(string):
+ """Entry_markup_to_utf8(string)"""
if isinstance(string, unicode): string = PyUnicode_AsUTF8String(string)
return _touni(elm_entry_markup_to_utf8(
string if string is not None else NULL))
@DEPRECATED("1.8", "Use utf8_to_markup() instead.")
def Entry_utf8_to_markup(string):
+ """Entry_utf8_to_markup(string)"""
if isinstance(string, unicode): string = PyUnicode_AsUTF8String(string)
return _touni(elm_entry_utf8_to_markup(
string if string is not None else NULL))
@@ -569,7 +574,7 @@
Type of contextual item that can be added in to long press menu.
- :since: 1.8
+ .. versionadded:: 1.8
"""
cdef Elm_Entry_Context_Menu_Item *item
@@ -581,7 +586,7 @@
:type: unicode
- :since: 1.8
+ .. versionadded:: 1.8
"""
def __get__(self):
@@ -594,7 +599,7 @@
:type: (unicode **icon_file**, unicode **icon_group**, :ref:`Icon type ` **icon_type**)
- :since: 1.8
+ .. versionadded:: 1.8
"""
def __get__(self):
@@ -750,7 +755,7 @@
self.hover_top = False
self.hover_bottom = False
-def _entryanchor_conv(long addr):
+def _entryanchor_conv(uintptr_t addr):
cdef Elm_Entry_Anchor_Info *ei = addr
eai = EntryAnchorInfo()
eai.name = _ctouni(ei.name)
@@ -761,10 +766,10 @@
eai.h = ei.h
return eai
-def _entryanchorhover_conv(long addr):
+def _entryanchorhover_conv(uintptr_t addr):
cdef Elm_Entry_Anchor_Hover_Info *ehi = addr
eahi = EntryAnchorHoverInfo()
- eahi.anchor_info = _entryanchor_conv(ehi.anchor_info)
+ eahi.anchor_info = _entryanchor_conv(ehi.anchor_info)
eahi.hover = object_from_instance(ehi.hover)
eahi.hover_parent = (ehi.hover_parent.x, ehi.hover_parent.y,
ehi.hover_parent.w, ehi.hover_parent.h)
@@ -774,9 +779,14 @@
eahi.hover_bottom = ehi.hover_bottom
return eahi
-cdef class Entry(Object):
+cdef class Entry(LayoutClass):
- """This is the class that actually implements the widget."""
+ """This is the class that actually implements the widget.
+
+ .. versionchanged:: 1.8
+ Inherits from LayoutClass.
+
+ """
def __init__(self, evasObject parent, *args, **kwargs):
"""By default, entries are:
@@ -804,6 +814,8 @@
:param string style: The style user to push
+ .. versionadded:: 1.8
+
"""
if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
elm_entry_text_style_user_push(self.obj,
@@ -816,6 +828,8 @@
:seealso: :py:meth:`text_style_user_push`
+ .. versionadded:: 1.8
+
"""
elm_entry_text_style_user_pop(self.obj)
@@ -828,6 +842,8 @@
:seealso: :py:meth:`text_style_user_push`
+ .. versionadded:: 1.8
+
"""
return _ctouni(elm_entry_text_style_user_peek(self.obj))
@@ -938,10 +954,6 @@
a string in markup format. None is returned if no selection exists or
if an error occurred.
- The returned value points to an internal string and should not be freed
- or modified in any way. If the ``entry`` object is deleted or its
- contents are changed, the returned pointer should be considered invalid.
-
:type: string
"""
@@ -1231,14 +1243,17 @@
cursor.
:return: Geometry (x, y, w, h)
- :rtype: tuple of Evas_Coords (int)
+ :rtype: tuple of Evas_Coords (int) or None
+
+ .. versionchanged:: 1.8
+ Returns None when the cursor geometry cannot be fetched.
"""
cdef Evas_Coord x, y, w, h
- if bool(elm_entry_cursor_geometry_get(self.obj, &x, &y, &w, &h)):
+ if elm_entry_cursor_geometry_get(self.obj, &x, &y, &w, &h):
return (x, y, w, h)
else:
- raise RuntimeError("Fetching cursor geometry failed")
+ return None
property cursor_pos:
"""The cursor position in the entry
@@ -1311,6 +1326,8 @@
:param func: The callback to execute when the item is clicked
:type func: function
+ .. versionadded:: 1.8
+
"""
cdef Evas_Smart_Cb cb = NULL
if func is not None:
@@ -1395,17 +1412,17 @@
Append a markup filter function for text inserted in the entry
Append the given callback to the list. This functions will be called
- whenever any text is inserted into the entry, with the text to be inserted
- as a parameter. The type of given text is always markup.
- The callback function is free to alter the text in any way it wants, but
- it must remember to free the given pointer and update it.
- If the new text is to be discarded, the function can free it and set its
- text parameter to NULL. This will also prevent any following filters from
- being called.
+ whenever any text is inserted into the entry, with the text to be
+ inserted as a parameter. The type of given text is always markup. The
+ callback function is free to alter the text in any way it wants. If the
+ new text is to be discarded, the function can return None. This will
+ also prevent any following filters from being called.
:param func: The function to use as text filter
:param data: User data to pass to ``func``
+ .. versionadded:: 1.8
+
"""
cb_data = (func, data)
# TODO: This is now a ref leak. It should be stored somewhere and
@@ -1420,12 +1437,14 @@
Prepend a markup filter function for text inserted in the entry
- Prepend the given callback to the list. See elm_entry_markup_filter_append()
- for more information
+ Prepend the given callback to the list. See
+ :py:meth:`markup_filter_append` for more information
:param func: The function to use as text filter
:param data: User data to pass to ``func``
+ .. versionadded:: 1.8
+
"""
cb_data = (func, data)
Py_INCREF(cb_data)
@@ -1439,11 +1458,13 @@
Remove a markup filter from the list
Removes the given callback from the filter list. See
- elm_entry_markup_filter_append() for more information.
+ :py:meth:`markup_filter_append` for more information
:param func: The filter function to remove
:param data: The user data passed when adding the function
+ .. versionadded:: 1.8
+
"""
cb_data = (func, data)
Py_INCREF(cb_data)
@@ -1451,9 +1472,19 @@
py_elm_entry_filter_cb,
cb_data)
- markup_to_utf8 = staticmethod(DEPRECATED("1.8", "Use module level markup_to_utf8() instead.")(Entry_markup_to_utf8))
-
- utf8_to_markup = staticmethod(DEPRECATED("1.8", "Use module level utf8_to_markup() instead.")(Entry_utf8_to_markup))
+ @DEPRECATED("1.8", "Use the module level markup_to_utf8() method instead.")
+ def markup_to_utf8(self, string):
+ """markup_to_utf8(string)"""
+ if isinstance(string, unicode): string = PyUnicode_AsUTF8String(string)
+ return _touni(elm_entry_markup_to_utf8(
+ string if string is not None else NULL))
+
+ @DEPRECATED("1.8", "Use the module level utf8_to_markup() method instead.")
+ def utf8_to_markup(self, string):
+ """utf8_to_markup(string)"""
+ if isinstance(string, unicode): string = PyUnicode_AsUTF8String(string)
+ return _touni(elm_entry_utf8_to_markup(
+ string if string is not None else NULL))
property file:
"""The file for the text to display and then edit.
@@ -1468,6 +1499,10 @@
:type: (unicode **file_name**, :ref:`Elm_Entry_Text_Format` **file_format**)
:raise RuntimeError: when setting the file fails
+ .. versionchanged:: 1.8
+ Raise RuntimeError when setting the file fails, instead of
+ returning a bool.
+
"""
def __get__(self):
cdef const_char *file
@@ -1563,6 +1598,8 @@
:type: bool
+ .. versionadded:: 1.8
+
"""
def __set__(self, bint setting):
elm_entry_end_visible_set(self.obj, setting)
@@ -1592,7 +1629,7 @@
:type: int
- :since: 1.8
+ .. versionadded:: 1.8
"""
def __set__(self, int variation):
@@ -1612,6 +1649,8 @@
:type: :ref:`Elm_Entry_Autocapital_Type`
+ .. versionadded:: 1.8
+
"""
def __set__(self, Elm_Autocapital_Type autocapital_type):
elm_entry_autocapital_type_set(self.obj, autocapital_type)
@@ -2194,6 +2233,12 @@
property scrollbar_policy:
+ """
+
+ .. deprecated:: 1.8
+ You should combine with Scrollable class instead.
+
+ """
def __get__(self):
return self.scrollbar_policy_get()
@@ -2212,6 +2257,12 @@
return (policy_h, policy_v)
property bounce:
+ """
+
+ .. deprecated:: 1.8
+ You should combine with Scrollable class instead.
+
+ """
def __get__(self):
return self.bounce_get()
def __set__(self, value):
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/enums.pxd python-efl-1.8.2~201401231220/efl/elementary/enums.pxd
--- python-efl-1.17.99~201312040125/efl/elementary/enums.pxd 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/enums.pxd 2014-01-18 12:24:01.000000000 +0000
@@ -145,6 +145,10 @@
ctypedef enum Elm_Focus_Direction:
ELM_FOCUS_PREVIOUS
ELM_FOCUS_NEXT
+ ELM_FOCUS_UP
+ ELM_FOCUS_DOWN
+ ELM_FOCUS_RIGHT
+ ELM_FOCUS_LEFT
ctypedef enum Elm_Genlist_Item_Type:
ELM_GENLIST_ITEM_NONE
@@ -341,12 +345,23 @@
ctypedef enum Elm_Policy:
ELM_POLICY_QUIT
+ ELM_POLICY_EXIT
+ ELM_POLICY_THROTTLE
ELM_POLICY_LAST
ctypedef enum Elm_Policy_Quit:
ELM_POLICY_QUIT_NONE
ELM_POLICY_QUIT_LAST_WINDOW_CLOSED
+ ctypedef enum Elm_Policy_Exit:
+ ELM_POLICY_EXIT_NONE
+ ELM_POLICY_EXIT_WINDOWS_DEL
+
+ ctypedef enum Elm_Policy_Throttle:
+ ELM_POLICY_THROTTLE_CONFIG
+ ELM_POLICY_THROTTLE_HIDDEN_ALWAYS
+ ELM_POLICY_THROTTLE_NEVER
+
ctypedef enum Elm_Popup_Orient:
ELM_POPUP_ORIENT_TOP
ELM_POPUP_ORIENT_CENTER
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/fileselector.pyx python-efl-1.8.2~201401231220/efl/elementary/fileselector.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/fileselector.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/fileselector.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -53,7 +53,7 @@
- ``activated`` - the user activated a file. This can happen by
double-clicking or pressing Enter key. (**event_info** is a
- pointer to the activated file path)
+ string with the activated file path)
- ``selected`` - the user has clicked on a file (when not in
folders-only mode) or directory (when in folders-only mode)
- ``directory,open`` - the list has been populated with new
@@ -61,6 +61,10 @@
- ``done`` - the user has clicked on the "ok" or "cancel"
buttons (*event_info* is the selection's path)
+For text, elm_layout_text_set() will work here on:
+
+- ``ok`` - OK button label if the ok button is set. (since 1.8)
+- ``cancel`` - Cancel button label if the cancel button is set. (since 1.8)
Enumerations
------------
@@ -81,6 +85,7 @@
"""
from cpython cimport PyUnicode_AsUTF8String
+from libc.stdint cimport uintptr_t
from efl.eo cimport _object_mapping_register
from efl.utils.conversions cimport _ctouni, eina_list_strings_to_python_list
@@ -92,7 +97,7 @@
ELM_FILESELECTOR_LIST = enums.ELM_FILESELECTOR_LIST
ELM_FILESELECTOR_GRID = enums.ELM_FILESELECTOR_GRID
-def _cb_string_conv(long addr):
+def _cb_string_conv(uintptr_t addr):
cdef const_char *s = addr
return _ctouni(s) if s is not NULL else None
@@ -257,7 +262,8 @@
:py:attr:`selected_paths`.
:type: bool
- :since: 1.8
+
+ .. versionadded:: 1.8
"""
def __set__(self, bint multi):
@@ -299,7 +305,7 @@
property selected_paths:
"""A list of selected paths in the file selector.
- It returns a list of the selected paths. This list pointer is only valid
+ It returns a list of the selected paths. This list is only valid
so long as the selection doesn't change (no items are selected or
unselected, or unselected implicitly by deletion). The list contains
strings. The order of the items in this list is the order which
@@ -313,7 +319,7 @@
:py:attr:`multi_select`
:py:attr:`selected`
- :since: 1.8
+ .. versionadded:: 1.8
"""
def __get__(self):
@@ -338,7 +344,7 @@
:seealso: :py:func:`~efl.elementary.need.need_efreet`
:seealso: :py:meth:`filters_clear`
- :since: 1.8
+ .. versionadded:: 1.8
"""
mime_types_s = ",".join(mime_types)
@@ -360,7 +366,7 @@
:seealso: :py:meth:`mime_types_filter_append`
- :since: 1.8
+ .. versionadded:: 1.8
"""
elm_fileselector_filters_clear(self.obj)
@@ -375,7 +381,7 @@
:type: bool
- :since: 1.8
+ .. versionadded:: 1.8
"""
def __set__(self, bint visible):
@@ -392,7 +398,7 @@
def callback_activated_add(self, func, *args, **kwargs):
"""the user activated a file. This can happen by
double-clicking or pressing Enter key. (**event_info** is a
- pointer to the activated file path)."""
+ string with the activated file path)."""
self._callback_add_full("activated", _cb_string_conv, func,
*args, **kwargs)
@@ -430,7 +436,7 @@
def callback_done_add(self, func, *args, **kwargs):
"""The user has clicked on the "ok" or "cancel" buttons
- (*event_info* is a pointer to the selection's path)."""
+ (*event_info* is a string with the selection's path)."""
self._callback_add_full("done", _cb_string_conv,
func, *args, **kwargs)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/fileselector_button.pyx python-efl-1.8.2~201401231220/efl/elementary/fileselector_button.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/fileselector_button.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/fileselector_button.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -36,31 +36,33 @@
The following styles are available for this button:
-- ``"default"``
-- ``"anchor"``
-- ``"hoversel_vertical"``
-- ``"hoversel_vertical_entry"``
+- ``default``
+- ``anchor``
+- ``hoversel_vertical``
+- ``hoversel_vertical_entry``
This widget emits the following signals, besides the ones sent from
:py:class:`~efl.elementary.button.Button`:
-- ``"file,chosen"`` - the user has selected a path which comes as the
+- ``file,chosen`` - the user has selected a path which comes as the
``event_info`` data
+- ``language,changed`` - the program's language changed
Default text parts of the fileselector_button widget that you can use for
are:
-- "default" - Label of the fileselector_button
+- ``default`` - Label of the fileselector_button
Default content parts of the fileselector_button widget that you can use
for are:
-- "icon" - Icon of the fileselector_button
+- ``icon`` - Icon of the fileselector_button
"""
from cpython cimport PyUnicode_AsUTF8String
+from libc.stdint cimport uintptr_t
from efl.eo cimport _object_mapping_register
from efl.utils.conversions cimport _ctouni
@@ -68,7 +70,7 @@
cimport enums
-def _cb_string_conv(long addr):
+def _cb_string_conv(uintptr_t addr):
cdef const_char *s = addr
return _ctouni(s) if s is not NULL else None
@@ -269,5 +271,15 @@
def callback_file_chosen_del(self, func):
self._callback_del_full("file,chosen", _cb_string_conv, func)
+ def callback_language_changed_add(self, func, *args, **kwargs):
+ """The program's language changed.
+
+ .. versionadded:: 1.8.1
+
+ """
+ self._callback_add("language,changed", func, *args, **kwargs)
+
+ def callback_language_changed_del(self, func):
+ self._callback_del("language,changed", func)
_object_mapping_register("Elm_Fileselector_Button", FileselectorButton)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/fileselector_entry.pyx python-efl-1.8.2~201401231220/efl/elementary/fileselector_entry.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/fileselector_entry.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/fileselector_entry.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -26,9 +26,11 @@
This is an entry made to be filled with or display a file
system path string.
-Besides the entry itself, the widget has a :py:class:`FileselectorButton`
-on its side, which will raise an internal :py:class:`Fileselector`,
-when clicked, for path selection aided by file system navigation.
+Besides the entry itself, the widget has a
+:py:class:`~efl.elementary.fileselector_button.FileselectorButton` on its side,
+which will raise an internal
+:py:class:`~efl.elementary.fileselector.Fileselector`, when clicked, for path
+selection aided by file system navigation.
This file selector may appear in an Elementary window or in an
inner window. When a file is chosen from it, the (inner) window
@@ -41,55 +43,62 @@
Smart callbacks one can register to:
-- ``"changed"`` - The text within the entry was changed
-- ``"activated"`` - The entry has had editing finished and
+- ``changed`` - The text within the entry was changed
+- ``activated`` - The entry has had editing finished and
changes are to be "committed"
-- ``"press"`` - The entry has been clicked
-- ``"longpressed"`` - The entry has been clicked (and held) for a
+- ``press`` - The entry has been clicked
+- ``longpressed`` - The entry has been clicked (and held) for a
couple seconds
-- ``"clicked"`` - The entry has been clicked
-- ``"clicked,double"`` - The entry has been double clicked
-- ``"focused"`` - The entry has received focus
-- ``"unfocused"`` - The entry has lost focus
-- ``"selection,paste"`` - A paste action has occurred on the
+- ``clicked`` - The entry has been clicked
+- ``clicked,double`` - The entry has been double clicked
+- ``focused`` - The entry has received focus
+- ``unfocused`` - The entry has lost focus
+- ``selection,paste`` - A paste action has occurred on the
entry
-- ``"selection,copy"`` - A copy action has occurred on the entry
-- ``"selection,cut"`` - A cut action has occurred on the entry
-- ``"unpressed"`` - The file selector entry's button was released
+- ``selection,copy`` - A copy action has occurred on the entry
+- ``selection,cut`` - A cut action has occurred on the entry
+- ``unpressed`` - The file selector entry's button was released
after being pressed.
-- ``"file,chosen"`` - The user has selected a path via the file
+- ``file,chosen`` - The user has selected a path via the file
selector entry's internal file selector, whose string
comes as the ``event_info`` data.
+- ``language,changed`` - the program's language changed
Default text parts of the fileselector_button widget that you can use for
are:
-- "default" - Label of the fileselector_button
+- ``default`` - Label of the fileselector_button
Default content parts of the fileselector_entry widget that you can use for
are:
-- "button icon" - Button icon of the fileselector_entry
+- ``button icon`` - Button icon of the fileselector_entry
"""
from cpython cimport PyUnicode_AsUTF8String
+from libc.stdint cimport uintptr_t
from efl.eo cimport _object_mapping_register
from efl.utils.conversions cimport _ctouni
from efl.evas cimport Object as evasObject
-from object cimport Object
+from layout_class cimport LayoutClass
cimport enums
-def _cb_string_conv(long addr):
+def _cb_string_conv(uintptr_t addr):
cdef const_char *s = addr
return _ctouni(s) if s is not NULL else None
-cdef class FileselectorEntry(Object):
+cdef class FileselectorEntry(LayoutClass):
- """This is the class that actually implements the widget."""
+ """This is the class that actually implements the widget.
+
+ .. versionchanged:: 1.8
+ Inherits from LayoutClass.
+
+ """
def __init__(self, evasObject parent, *args, **kwargs):
self._set_obj(elm_fileselector_entry_add(parent.obj))
@@ -396,5 +405,15 @@
def callback_file_chosen_del(self, func):
self._callback_del_full("file,chosen", _cb_string_conv, func)
+ def callback_language_changed_add(self, func, *args, **kwargs):
+ """The program's language changed.
+
+ .. versionadded:: 1.8.1
+
+ """
+ self._callback_add("language,changed", func, *args, **kwargs)
+
+ def callback_language_changed_del(self, func):
+ self._callback_del("language,changed", func)
_object_mapping_register("Elm_Fileselector_Entry", FileselectorEntry)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/flip.pyx python-efl-1.8.2~201401231220/efl/elementary/flip.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/flip.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/flip.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -35,13 +35,13 @@
Signals that you can add callbacks for are:
-- "animate,begin" - when a flip animation was started
-- "animate,done" - when a flip animation is finished
+- ``animate,begin`` - when a flip animation was started
+- ``animate,done`` - when a flip animation is finished
Default content parts of the flip widget that you can use for are:
-- "front" - A front content of the flip
-- "back" - A back content of the flip
+- ``front`` - A front content of the flip
+- ``back`` - A back content of the flip
Enumerations
@@ -268,6 +268,8 @@
Flips the front and back contents using the ``flip_mode`` animation. This
effectively hides the currently visible content and shows the hidden one.
+ .. versionadded:: 1.8
+
"""
elm_flip_go_to(self.obj, front, flip_mode)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/flipselector.pyx python-efl-1.8.2~201401231220/efl/elementary/flipselector.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/flipselector.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/flipselector.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -24,10 +24,10 @@
.. image:: /images/flipselector-preview.png
:align: left
-A flip selector is a widget to show a set of *text* items, one
-at a time, with the same sheet switching style as the :py:class:`Clock`
-widget, when one changes the current displaying sheet
-(thus, the "flip" in the name).
+A flip selector is a widget to show a set of *text* items, one at a time, with
+the same sheet switching style as the :py:class:`~efl.elementary.clock.Clock`
+widget, when one changes the current displaying sheet (thus, the "flip" in the
+name).
User clicks to flip sheets which are *held* for some time will
make the flip selector to flip continuously and automatically for
@@ -35,31 +35,29 @@
so that it helps the user to reach an item which is distant from
the current selection.
-This widget inherits from the :py:class:`Layout` one, so that all the
-functions acting on it also work for flip selector objects.
-
This widget emits the following signals, besides the ones sent from
-:py:class:`Layout`:
+:py:class:`~efl.elementary.layout_class.LayoutClass`:
-- ``"selected"`` - when the widget's selected text item is changed
-- ``"overflowed"`` - when the widget's current selection is changed
+- ``selected`` - when the widget's selected text item is changed
+- ``overflowed`` - when the widget's current selection is changed
from the first item in its list to the last
-- ``"underflowed"`` - when the widget's current selection is changed
+- ``underflowed`` - when the widget's current selection is changed
from the last item in its list to the first
- ``focused`` - When the flipselector has received focus. (since 1.8)
- ``unfocused`` - When the flipselector has lost focus. (since 1.8)
Available styles for it:
-- ``"default"``
+- ``default``
Default text parts of the flipselector items that you can use for are:
-- "default" - label of the flipselector item
+- ``default`` - label of the flipselector item
"""
from cpython cimport PyUnicode_AsUTF8String
+from libc.stdint cimport uintptr_t
from efl.eo cimport _object_mapping_register
from efl.utils.conversions cimport _ctouni
@@ -68,7 +66,7 @@
from object_item cimport _object_item_to_python, _object_item_callback, \
_object_item_list_to_python, _object_item_callback2
-def _cb_object_item_conv(long addr):
+def _cb_object_item_conv(uintptr_t addr):
cdef Elm_Object_Item *it = addr
return _object_item_to_python(it)
@@ -95,7 +93,7 @@
"""
The widget's list of labels to show will be appended with the
- given value. If the user wishes so, a callback function pointer
+ given value. If the user wishes so, a callback function
can be passed, which will get called when this same item is
selected.
@@ -142,12 +140,12 @@
self.label if self.label is not None else NULL,
cb, self)
- if item != NULL:
- self._set_obj(item)
- self._set_properties_from_keyword_args(self.kwargs)
- return self
- else:
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
def prepend_to(self, FlipSelector flipselector not None):
"""prepend_to(FlipSelector flipselector) -> FlipSelectorItem
@@ -171,12 +169,12 @@
self.label if self.label is not None else NULL,
cb, self)
- if item != NULL:
- self._set_obj(item)
- self._set_properties_from_keyword_args(self.kwargs)
- return self
- else:
- return
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
property label:
"""The label of this item
@@ -211,28 +209,26 @@
return bool(elm_flipselector_item_selected_get(self.item))
property prev:
- """Gets the item before ``item`` in a flip selector widget's internal list of
- items.
+ """Gets the item before ``item`` in a flip selector widget's internal
+ list of items.
:type: :py:class:`FlipSelectorItem`
- .. seealso:: :py:func:`item_next_get`
-
"""
def __get__(self):
- return _object_item_to_python(elm_flipselector_item_prev_get(self.item))
+ return _object_item_to_python(
+ elm_flipselector_item_prev_get(self.item))
property next:
- """Gets the item after ``item`` in a flip selector widget's
- internal list of items.
+ """Gets the item after ``item`` in a flip selector widget's internal
+ list of items.
:type: :py:class:`FlipSelectorItem`
- .. seealso:: :py:func:`item_prev_get`
-
"""
def __get__(self):
- return _object_item_to_python(elm_flipselector_item_next_get(self.item))
+ return _object_item_to_python(
+ elm_flipselector_item_next_get(self.item))
cdef class FlipSelector(Object):
@@ -334,11 +330,9 @@
This list is *not* to be modified in any way and must not be
freed. Use the list members with functions like
- elm_object_item_text_set(),
- elm_object_item_text_get(),
- elm_object_item_del(),
- elm_flipselector_item_selected_get(),
- elm_flipselector_item_selected_set().
+ :py:attr:`efl.elementary.object_item.ObjectItem.text`,
+ :py:meth:`efl.elementary.object_item.ObjectItem.delete`,
+ :py:attr:`FlipselectorItem.selected`.
.. warning:: This list is only valid until ``obj`` object's internal
items list is changed. It should be fetched again with another
@@ -348,33 +342,38 @@
"""
def __get__(self):
- return tuple(_object_item_list_to_python(elm_flipselector_items_get(self.obj)))
+ return tuple(_object_item_list_to_python(
+ elm_flipselector_items_get(self.obj)))
property first_item:
"""Get the first item in the given flip selector widget's list of
items.
- .. seealso:: :py:func:`item_append`
- .. seealso:: :py:attr:`last_item`
+ .. seealso::
+ :py:func:`item_append`
+ :py:attr:`last_item`
:type: :py:class:`FlipSelectorItem`
"""
def __get__(self):
- return _object_item_to_python(elm_flipselector_first_item_get(self.obj))
+ return _object_item_to_python(
+ elm_flipselector_first_item_get(self.obj))
property last_item:
"""Get the last item in the given flip selector widget's list of
items.
- .. seealso:: :py:func:`item_prepend`
- .. seealso:: :py:attr:`first_item`
+ .. seealso::
+ :py:func:`item_prepend`
+ :py:attr:`first_item`
:type: :py:class:`FlipSelectorItem`
"""
def __get__(self):
- return _object_item_to_python(elm_flipselector_last_item_get(self.obj))
+ return _object_item_to_python(
+ elm_flipselector_last_item_get(self.obj))
property selected_item:
"""Get the currently selected item in a flip selector widget.
@@ -383,7 +382,8 @@
"""
def __get__(self):
- return _object_item_to_python(elm_flipselector_selected_item_get(self.obj))
+ return _object_item_to_python(
+ elm_flipselector_selected_item_get(self.obj))
property first_interval:
"""The interval on time updates for a user mouse button hold on a
@@ -439,7 +439,7 @@
def callback_focused_add(self, func, *args, **kwargs):
"""When the flipselector has received focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("focused", func, *args, **kwargs)
@@ -449,7 +449,7 @@
def callback_unfocused_add(self, func, *args, **kwargs):
"""When the flipselector has lost focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("unfocused", func, *args, **kwargs)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/frame.pyx python-efl-1.8.2~201401231220/efl/elementary/frame.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/frame.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/frame.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -36,20 +36,20 @@
- outdent_top
- outdent_bottom
-Of all this styles only default shows the title.
+Out of all these styles only default shows the title.
This widget emits the following signals, besides the ones sent from
-:py:class:`elementary.layout.Layout`:
+:py:class:`~efl.elementary.layout_class.LayoutClass`:
-- ``"clicked"`` - The user has clicked the frame's label
+- ``clicked`` - The user has clicked the frame's label
Default content parts of the frame widget that you can use for are:
-- "default" - A content of the frame
+- ``default`` - A content of the frame
Default text parts of the frame widget that you can use for are:
-- "default" - Label of the frame
+- ``default`` - Label of the frame
"""
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/general.pxd python-efl-1.8.2~201401231220/efl/elementary/general.pxd
--- python-efl-1.17.99~201312040125/efl/elementary/general.pxd 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/general.pxd 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -82,8 +82,8 @@
ctypedef Evas_Object * (*Elm_Tooltip_Item_Content_Cb) (void *data, Evas_Object *obj, Evas_Object *tooltip, void *item)
# General
- void elm_init(int argc, char** argv)
- void elm_shutdown()
+ int elm_init(int argc, char** argv)
+ int elm_shutdown()
void elm_run() nogil
void elm_exit()
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/general.pyx python-efl-1.8.2~201401231220/efl/elementary/general.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/general.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/general.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -18,23 +18,59 @@
"""
+.. _General:
+
+General
+=======
+
+General Elementary API. Functions that don't relate to
+Elementary objects specifically.
+
+Here are documented functions which init/shutdown the library,
+that apply to generic Elementary objects, that deal with
+configuration, et cetera.
+
+
+.. _Fingers:
+
+Fingers
+=======
+
+Elementary is designed to be finger-friendly for touchscreens,
+and so in addition to scaling for display resolution, it can
+also scale based on finger "resolution" (or size). You can then
+customize the granularity of the areas meant to receive clicks
+on touchscreens.
+
+Different profiles may have pre-set values for finger sizes.
+
+
Enumerations
-------------
+============
+
.. _Elm_Policy:
Policy types
-============
+------------
.. data:: ELM_POLICY_QUIT
Under which circumstances the application should quit automatically.
+.. data:: ELM_POLICY_EXIT
+
+ Defines elm_exit() behaviour. (since 1.8)
+
+.. data:: ELM_POLICY_THROTTLE
+
+ Defines how throttling should work (since 1.8)
+
.. _Elm_Policy_Quit:
Quit policy types
-=================
+-----------------
.. data:: ELM_POLICY_QUIT_NONE
@@ -45,10 +81,47 @@
Quit when the application's last window is closed
+.. _Elm_Policy_Exit:
+
+Exit policy types
+-----------------
+
+Possible values for the ELM_POLICY_EXIT policy.
+
+.. data:: ELM_POLICY_EXIT_NONE
+
+ Just quit the main loop on exit().
+
+.. data:: ELM_POLICY_EXIT_WINDOWS_DEL
+
+ Delete all the windows after quitting the main loop.
+
+
+.. _Elm_Policy_Throttle:
+
+Throttle policy types
+---------------------
+
+Possible values for the #ELM_POLICY_THROTTLE policy.
+
+.. data:: ELM_POLICY_THROTTLE_CONFIG
+
+ Do whatever elementary config is configured to do.
+
+.. data:: ELM_POLICY_THROTTLE_HIDDEN_ALWAYS
+
+ Always throttle when all windows are no longer visible.
+
+.. data:: ELM_POLICY_THROTTLE_NEVER
+
+ Never throttle when windows are all hidden, regardless of config settings.
+
+
"""
from cpython cimport PyObject, Py_INCREF, Py_DECREF, PyUnicode_AsUTF8String, \
PyMem_Malloc, PyMem_Free
+from libc.stdint cimport uintptr_t
from efl.evas cimport Object as evasObject
@@ -67,10 +140,18 @@
cimport enums
ELM_POLICY_QUIT = enums.ELM_POLICY_QUIT
+ELM_POLICY_EXIT = enums.ELM_POLICY_EXIT
+ELM_POLICY_THROTTLE = enums.ELM_POLICY_THROTTLE
ELM_POLICY_QUIT_NONE = enums.ELM_POLICY_QUIT_NONE
ELM_POLICY_QUIT_LAST_WINDOW_CLOSED = enums.ELM_POLICY_QUIT_LAST_WINDOW_CLOSED
+ELM_POLICY_EXIT_NONE = enums.ELM_POLICY_EXIT_NONE
+ELM_POLICY_EXIT_WINDOWS_DEL = enums.ELM_POLICY_EXIT_WINDOWS_DEL
+
+ELM_POLICY_THROTTLE_CONFIG = enums.ELM_POLICY_THROTTLE_CONFIG
+ELM_POLICY_THROTTLE_HIDDEN_ALWAYS = enums.ELM_POLICY_THROTTLE_HIDDEN_ALWAYS
+ELM_POLICY_THROTTLE_NEVER = enums.ELM_POLICY_THROTTLE_NEVER
cdef class FontProperties(object):
@@ -99,12 +180,21 @@
cdef int PY_EFL_ELM_LOG_DOMAIN = elm_log.eina_log_domain
def init():
+ """init() -> int
+
+ Initialize Elementary
+
+ :return int: The init counter value.
- """Initialize Elementary"""
+ This function initializes Elementary and increments a counter of the number
+ of calls to it. It returns the new counter's value.
+ """
EINA_LOG_DOM_INFO(PY_EFL_ELM_LOG_DOMAIN,
"Initializing efl.elementary", NULL)
- # FIXME: Why pass the cl args to elm_init?
+
+ # FIXME: Why are we passing the cl args to elm_init here?
+
cdef int argc, i, arg_len
cdef char **argv, *arg
@@ -118,29 +208,62 @@
argv[i] = PyMem_Malloc(arg_len + 1)
memcpy(argv[i], arg, arg_len + 1)
- elm_init(argc, argv)
+ return elm_init(argc, argv)
def shutdown():
+ """shutdown() -> int
- """Shutdown Elementary"""
+ Shut down Elementary
+ :return int: The init counter value.
+
+ This should be called at the end of your application, just before it ceases
+ to do any more processing. This will clean up any permanent resources your
+ application may have allocated via Elementary that would otherwise persist.
+
+ .. note::
+
+ shutdown() will iterate main loop until all ecore_evas are freed. There
+ is a possibility to call your ecore callbacks(timer, animator, event,
+ job, and etc.) in shutdown()
+
+ """
EINA_LOG_DOM_INFO(PY_EFL_ELM_LOG_DOMAIN,
"Shutting down efl.elementary", NULL)
- elm_shutdown()
+ return elm_shutdown()
def run():
+ """run()
+
+ Run Elementary's main loop
- """Begin main loop"""
+ This call should be issued just after all initialization is completed. This
+ function will not return until exit() is called. It will keep looping,
+ running the main (event/processing) loop for Elementary.
+ """
EINA_LOG_DOM_DBG(PY_EFL_ELM_LOG_DOMAIN,
"Starting up main loop.", NULL)
with nogil:
elm_run()
def exit():
+ """exit()
+ Ask to exit Elementary's main loop
- """Exit main loop"""
+ If this call is issued, it will flag the main loop to cease processing and
+ return back to its parent function (usually your elm_main() function). This
+ does not mean the main loop instantly quits. So your ecore callbacks(timer,
+ animator, event, job, and etc.) have chances to be called even after
+ exit().
+
+ .. note::
+
+ By using the appropriate #ELM_POLICY_QUIT on your Elementary
+ applications, you'll be able to get this function called automatically
+ for you.
+ """
EINA_LOG_DOM_DBG(PY_EFL_ELM_LOG_DOMAIN,
"Ending main loop.", NULL)
elm_exit()
@@ -247,6 +370,8 @@
.. note:: Evas caches are flushed for every canvas associated with a window.
+ .. versionadded:: 1.8
+
"""
elm_cache_all_flush()
@@ -263,6 +388,8 @@
:py:func:`font_fontconfig_name_get`, for one style only (single font
instance, not family).
+ .. versionadded:: 1.8
+
"""
if isinstance(font, unicode): font = PyUnicode_AsUTF8String(font)
cdef FontProperties ret = FontProperties.__new__()
@@ -276,6 +403,8 @@
:param fp: the font properties struct
+ .. versionadded:: 1.8
+
"""
elm_font_properties_free(fp.efp)
Py_DECREF(fp)
@@ -295,6 +424,8 @@
:py:func:`font_properties_get`, for one style only (single font
instance, not family).
+ .. versionadded:: 1.8
+
"""
cdef:
unicode ret
@@ -344,6 +475,8 @@
:param top: The root object
+ .. versionadded:: 1.8
+
"""
elm_object_tree_dump(top.obj)
@@ -355,6 +488,8 @@
:param top: The root object
:param path: The path of output file
+ .. versionadded:: 1.8
+
"""
if isinstance(path, unicode): path = PyUnicode_AsUTF8String(path)
elm_object_tree_dot_dump(top.obj, path)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/gengrid.pyx python-efl-1.8.2~201401231220/efl/elementary/gengrid.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/gengrid.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/gengrid.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -25,7 +25,7 @@
This widget aims to position objects in a grid layout while actually
creating and rendering only the visible ones, using the same idea as the
-:py:class:`efl.elementary.genlist.Genlist`: the user defines a **class** for
+:py:class:`~efl.elementary.genlist.Genlist`: the user defines a **class** for
each item, specifying functions that will be called at object creation,
deletion, etc. When those items are selected by the user, a callback
function is issued. Users may interact with a gengrid via the mouse (by
@@ -40,7 +40,7 @@
If you wish to control the scolling behaviour using these functions,
inherit both the widget class and the
-:py:class:`Scrollable` class
+:py:class:`~efl.elementary.scroller.Scrollable` class
using multiple inheritance, for example::
class ScrollableGenlist(Genlist, Scrollable):
@@ -83,7 +83,7 @@
A gengrid item may be at one of several styles. Elementary provides one
by default - "default", but this can be extended by system or
application custom themes/overlays/extensions (see
-:py:class:`elementary.theme.Theme` for more details).
+:py:class:`~efl.elementary.theme.Theme` for more details).
Gengrid item classes
====================
@@ -108,19 +108,19 @@
the ``part`` one is the name string of one of the existing text parts
in the Edje group implementing the item's theme. This function
**must** return a strdup'()ed string, as the caller will free() it
- when done. See #Elm_Gengrid_Item_Text_Get_Cb.
+ when done. See :py:meth:`GengridItem.text_get`.
- ``func.content_get`` - This function is called when an item object is
actually created. The ``data`` parameter will point to the same data
- passed to elm_gengrid_item_append() and related item creation
+ passed to :py:meth:`GengridItem.append_to` and related item creation
functions. The ``obj`` parameter is the gengrid object itself, while
the ``part`` one is the name string of one of the existing (content)
swallow parts in the Edje group implementing the item's theme. It must
return ``None,`` when no content is desired, or a valid object handle,
otherwise. The object will be deleted by the gengrid on its deletion
- or when the item is "unrealized". See #Elm_Gengrid_Item_Content_Get_Cb.
+ or when the item is "unrealized". See :py:meth:`GengridItem.content_get`.
- ``func.state_get`` - This function is called when an item object is
actually created. The ``data`` parameter will point to the same data
- passed to elm_gengrid_item_append() and related item creation
+ passed to :py:meth:`GengridItem.append_to` and related item creation
functions. The ``obj`` parameter is the gengrid object itself, while
the ``part`` one is the name string of one of the state parts in the
Edje group implementing the item's theme. Return ``False`` for
@@ -133,7 +133,7 @@
an item or elm_gengrid_clear() is called on the gengrid. This is
intended for use when gengrid items are deleted, so any data attached
to the item (e.g. its data parameter on creation) can be deleted. See
- #Elm_Gengrid_Item_Del_Cb.
+ :py:meth:`GengridItem.delete`.
Usage hints
===========
@@ -191,8 +191,8 @@
has its implementing Evas object instantiated, de facto.
``event_info`` is the gengrid item that was created. The object
may be deleted at any time, so it is highly advised to the
- caller **not** to use the object pointer returned from
- elm_gengrid_item_object_get(), because it may point to freed
+ caller **not** to use the object returned from
+ :py:attr:`GengridItem.object`, because it may point to freed
objects.
- ``unrealized`` - This is called when the implementing Evas
object for this item is deleted. ``event_info`` is the gengrid
@@ -277,9 +277,9 @@
"""
include "tooltips.pxi"
-include "cnp_callbacks.pxi"
from libc.string cimport strdup
+from libc.stdint cimport uintptr_t
from cpython cimport Py_INCREF, Py_DECREF, PyUnicode_AsUTF8String
from efl.eo cimport object_from_instance, _object_mapping_register, PY_REFCOUNT
from efl.utils.conversions cimport _ctouni, _touni
@@ -303,7 +303,7 @@
ELM_GENLIST_ITEM_SCROLLTO_TOP = enums.ELM_GENLIST_ITEM_SCROLLTO_TOP
ELM_GENLIST_ITEM_SCROLLTO_MIDDLE = enums.ELM_GENLIST_ITEM_SCROLLTO_MIDDLE
-def _cb_object_item_conv(long addr):
+def _cb_object_item_conv(uintptr_t addr):
cdef Elm_Object_Item *it = addr
return _object_item_to_python(it)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/gengrid_item.pxi python-efl-1.8.2~201401231220/efl/elementary/gengrid_item.pxi
--- python-efl-1.17.99~201312040125/efl/elementary/gengrid_item.pxi 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/gengrid_item.pxi 2014-01-18 12:24:01.000000000 +0000
@@ -19,7 +19,7 @@
self.item = NULL
def __init__(self, GengridItemClass item_class not None, item_data = None, \
- func = None, func_data = None):
+ func = None, func_data = None, *args, **kwargs):
"""
:param item_class: a valid instance that defines the
@@ -48,14 +48,16 @@
self.cb_func = func
self.item_data = item_data
self.func_data = func_data
+ self.args = args
+ self.kwargs = kwargs
def __repr__(self):
return ("<%s(%#x, refcount=%d, Elm_Object_Item=%#x, "
"item_class=%s, func=%s, item_data=%r)>") % \
(type(self).__name__,
- self,
+ self,
PY_REFCOUNT(self),
- self.item,
+ self.item,
type(self.item_class).__name__,
self.cb_func,
self.item_data)
@@ -65,6 +67,8 @@
Append a new item (add as last item) to this gengrid.
+ .. versionadded:: 1.8
+
"""
cdef:
Elm_Object_Item *item
@@ -77,18 +81,20 @@
self.item_class.cls, self,
cb, self)
- if item != NULL:
- self._set_obj(item)
- return self
- else:
- Py_DECREF(self)
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
def prepend_to(self, Gengrid gengrid not None):
"""item_prepend(Gengrid gengrid) -> GengridItem
Prepend a new item (add as first item) to this gengrid.
+ .. versionadded:: 1.8
+
"""
cdef:
Elm_Object_Item *item
@@ -100,12 +106,12 @@
item = elm_gengrid_item_prepend(gengrid.obj, self.item_class.cls, self,
cb, self)
- if item != NULL:
- self._set_obj(item)
- return self
- else:
- Py_DECREF(self)
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
def insert_before(self, GengridItem before not None):
"""insert_before(GengridItem before not None) -> GengridItem
@@ -115,6 +121,8 @@
:param before: a reference item to use, the new item
will be inserted before it.
+ .. versionadded:: 1.8
+
"""
cdef:
Elm_Object_Item *item
@@ -127,12 +135,12 @@
item = elm_gengrid_item_insert_before(gengrid.obj, self.item_class.cls,
self, before.item, cb, self)
- if item != NULL:
- self._set_obj(item)
- return self
- else:
- Py_DECREF(self)
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
def insert_after(self, GengridItem after not None):
"""insert_after(GengridItem after not None) -> GengridItem
@@ -142,6 +150,8 @@
:param after: a reference item to use, the new item
will be inserted after it.
+ .. versionadded:: 1.8
+
"""
cdef:
Elm_Object_Item *item
@@ -154,12 +164,12 @@
item = elm_gengrid_item_insert_after(gengrid.obj, self.item_class.cls,
self, after.item, cb, self)
- if item != NULL:
- self._set_obj(item)
- return self
- else:
- Py_DECREF(self)
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
def sorted_insert(self, Gengrid gengrid not None, compare_func not None):
"""insert_after(GengridItem after not None) -> GengridItem
@@ -169,6 +179,8 @@
:param after: a reference item to use, the new item
will be inserted after it.
+ .. versionadded:: 1.8
+
"""
cdef:
Elm_Object_Item *item
@@ -182,12 +194,12 @@
item = elm_gengrid_item_sorted_insert(gengrid.obj, self.item_class.cls,
self, _gengrid_compare_cb, cb, self)
- if item != NULL:
- self._set_obj(item)
- return self
- else:
- Py_DECREF(self)
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
property data:
"""User data for the item."""
@@ -241,12 +253,10 @@
elm_gengrid_item_update(self.item)
property selected:
- """This sets the selected state of an item. If multi-selection is
+ """The selected state of an item. If multi-selection is
not enabled on the containing gengrid and *selected* is ``True``,
any other previously selected items will get unselected in favor of
- this new one.
-
- .. seealso:: :py:func:`item_selected_get()`
+ a new one.
"""
def __get__(self):
@@ -317,6 +327,7 @@
text if text is not None else NULL)
def tooltip_text_set(self, text):
+ # TODO: document this
if isinstance(text, unicode): text = PyUnicode_AsUTF8String(text)
elm_gengrid_item_tooltip_text_set(self.item,
text if text is not None else NULL)
@@ -343,13 +354,19 @@
data = (func, self, args, kargs)
Py_INCREF(data)
+ # FIXME: refleak?
cbdata = data
elm_gengrid_item_tooltip_content_cb_set(self.item,
_tooltip_item_content_create,
cbdata,
_tooltip_item_data_del_cb)
+ @DEPRECATED("1.8", "Use tooltip_unset() instead")
def item_tooltip_unset(self):
+ """item_tooltip_unset()"""
+ elm_gengrid_item_tooltip_unset(self.item)
+
+ def tooltip_unset(self):
"""item_tooltip_unset()
Unset tooltip from object
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/gengrid_item_class.pxi python-efl-1.8.2~201401231220/efl/elementary/gengrid_item_class.pxi
--- python-efl-1.17.99~201312040125/efl/elementary/gengrid_item_class.pxi 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/gengrid_item_class.pxi 2014-01-18 12:24:01.000000000 +0000
@@ -119,9 +119,9 @@
"item_style=%r, text_get_func=%s, content_get_func=%s, "
"state_get_func=%s, del_func=%s)>") % \
(type(self).__name__,
- self,
+ self,
PY_REFCOUNT(self),
- self.cls,
+ self.cls,
_ctouni(self.cls.item_style),
self._text_get_func,
self._content_get_func,
@@ -129,15 +129,27 @@
self._del_func)
def ref(self):
- """Increase the C level reference count."""
+ """Increase the C level reference count.
+
+ .. versionadded:: 1.8
+
+ """
elm_gengrid_item_class_ref(self.cls)
def unref(self):
- """Decrease the C level reference count."""
+ """Decrease the C level reference count.
+
+ .. versionadded:: 1.8
+
+ """
elm_gengrid_item_class_unref(self.cls)
def free(self):
- """Free the C level struct."""
+ """Free the C level struct.
+
+ .. versionadded:: 1.8
+
+ """
elm_gengrid_item_class_free(self.cls)
property item_style:
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/gengrid_widget.pxi python-efl-1.8.2~201401231220/efl/elementary/gengrid_widget.pxi
--- python-efl-1.17.99~201312040125/efl/elementary/gengrid_widget.pxi 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/gengrid_widget.pxi 2014-01-18 12:24:01.000000000 +0000
@@ -1,3 +1,5 @@
+#include "cnp_callbacks.pxi"
+
cdef class Gengrid(Object):
"""This is the class that actually implements the widget."""
@@ -172,10 +174,10 @@
# XXX TODO elm_gengrid_item_sorted_insert()
property selected_item:
- """This returns the selected item in ``obj``. If multi selection is
- enabled on ``obj`` (.. seealso:: :py:func:`multi_select_set()),` only
- the first item in the list is selected, which might not be very
- useful. For that case, see elm_gengrid_selected_items_get().
+ """This returns the selected item. If multi selection is enabled
+ (:py:attr:`multi_select`), only the first item in the list is selected,
+ which might not be very useful. For that case, see
+ :py:attr:`selected_items`.
:type: :py:class:`GengridItem`
@@ -266,7 +268,7 @@
property item_size:
"""A gengrid, after creation, has still no information on the size
to give to each of its cells. So, you most probably will end up
- with squares one :ref:`Fingers` "finger" wide, the default
+ with squares one :ref:`finger ` wide, the default
size. Use this property to force a custom size for you items,
making them as big as you wish.
@@ -439,7 +441,7 @@
:return: The item stored in the object at position ``nth`` or
``None``, if there's no item with that index (and on errors)
- :since: 1.8
+ .. versionadded:: 1.8
"""
return _object_item_to_python(elm_gengrid_nth_item_get(self.obj, nth))
@@ -467,6 +469,8 @@
based if the coordinate is above or below all items respectively in
the gengrid.
+ .. versionadded:: 1.8
+
"""
cdef:
int xposret, yposret
@@ -477,111 +481,111 @@
#
- # Drag and Drop
+ # TODO: Drag and Drop
# =============
- def drag_item_container_add(self,
- double tm_to_anim, double tm_to_drag,
- itemgetcb = None,
- data_get = None):
- """
-
- Set a item container (list, genlist, grid) as source of drag
-
- :param tm_to_anim: Time period to wait before start animation.
- :param tm_to_drag: Time period to wait before start draggind.
- :param itemgetcb: Callback to get Evas_Object pointer for item at (x,y)
- :param data_get: Callback to get drag info
-
- :raise RuntimeError: if setting drag source failed.
-
- :since: 1.8
-
- """
- if itemgetcb is not None:
- if not callable(itemgetcb):
- raise TypeError("itemgetcb must be callable.")
- self.data["xy_item_get_cb"] = itemgetcb
-
- self.data["item_container_data_get_cb"] = data_get
-
- if not elm_drag_item_container_add(self.obj,
- tm_to_anim,
- tm_to_drag,
- py_elm_xy_item_get_cb if itemgetcb is not None else NULL,
- py_elm_item_container_data_get_cb if data_get is not None else NULL):
- raise RuntimeError
-
- def drag_item_container_del(self):
- """
-
- Deletes a item container from drag-source list
-
- :raise RuntimeError: if deleting drag source failed.
-
- :since: 1.8
-
- """
- if not elm_drag_item_container_del(self.obj):
- raise RuntimeError
-
- def drop_item_container_add(self, Elm_Sel_Format format,
- itemgetcb = None, entercb = None, enterdata = None,
- leavecb = None, leavedata = None,
- poscb = None, posdata = None, dropcb = None, cbdata = None):
- """
-
- Set a item container (list, genlist, grid) as target for drop.
-
- :param format: The formats supported for dropping
- :param itemgetcb: Callback to get Evas_Object pointer for item at (x,y)
- :param entercb: The function to call when the object is entered with a drag
- :param enterdata: The application data to pass to enterdata
- :param leavecb: The function to call when the object is left with a drag
- :param leavedata: The application data to pass to leavedata
- :param poscb: The function to call when the object has a drag over it
- :param posdata: The application data to pass to posdata
- :param dropcb: The function to call when a drop has occurred
- :param cbdata: The application data to pass to dropcb
-
- :raise RuntimeError: if setting drop target failed.
-
- :since: 1.8
-
- """
- if itemgetcb is not None:
- if not callable(itemgetcb):
- raise TypeError("itemgetcb must be callable.")
- self.data["xy_item_get_cb"] = itemgetcb
-
- self.data["drag_item_container_pos"] = poscb
- self.data["drop_item_container_cb"] = dropcb
-
- if not elm_drop_item_container_add(self.obj,
- format,
- py_elm_xy_item_get_cb if itemgetcb is not None else NULL,
- py_elm_drag_state_cb if entercb is not None else NULL,
- enterdata if enterdata is not None else NULL,
- py_elm_drag_state_cb if leavecb is not None else NULL,
- leavedata if leavedata is not None else NULL,
- py_elm_drag_item_container_pos if poscb is not None else NULL,
- posdata if posdata is not None else NULL,
- py_elm_drop_item_container_cb if dropcb is not None else NULL,
- cbdata if cbdata is not None else NULL):
- raise RuntimeError
-
- def drop_item_container_del(self):
- """
-
- Removes a container from list of drop tragets.
-
- :raise RuntimeError: if deleting drop target failed.
-
- :since: 1.8
-
- """
- if not elm_drop_item_container_del(self.obj):
- raise RuntimeError
+ # def drag_item_container_add(self,
+ # double tm_to_anim, double tm_to_drag,
+ # itemgetcb = None,
+ # data_get = None):
+ # """
+
+ # Set a item container (list, genlist, grid) as source of drag
+
+ # :param tm_to_anim: Time period to wait before start animation.
+ # :param tm_to_drag: Time period to wait before start draggind.
+ # :param itemgetcb: Callback to get Evas object for item at (x,y)
+ # :param data_get: Callback to get drag info
+
+ # :raise RuntimeError: if setting drag source failed.
+
+ # :since: 1.8
+
+ # """
+ # if itemgetcb is not None:
+ # if not callable(itemgetcb):
+ # raise TypeError("itemgetcb must be callable.")
+ # self.data["xy_item_get_cb"] = itemgetcb
+
+ # self.data["item_container_data_get_cb"] = data_get
+
+ # if not elm_drag_item_container_add(self.obj,
+ # tm_to_anim,
+ # tm_to_drag,
+ # py_elm_xy_item_get_cb if itemgetcb is not None else NULL,
+ # py_elm_item_container_data_get_cb if data_get is not None else NULL):
+ # raise RuntimeError
+
+ # def drag_item_container_del(self):
+ # """
+
+ # Deletes a item container from drag-source list
+
+ # :raise RuntimeError: if deleting drag source failed.
+
+ # :since: 1.8
+
+ # """
+ # if not elm_drag_item_container_del(self.obj):
+ # raise RuntimeError
+
+ # def drop_item_container_add(self, Elm_Sel_Format format,
+ # itemgetcb = None, entercb = None, enterdata = None,
+ # leavecb = None, leavedata = None,
+ # poscb = None, posdata = None, dropcb = None, cbdata = None):
+ # """
+
+ # Set a item container (list, genlist, grid) as target for drop.
+
+ # :param format: The formats supported for dropping
+ # :param itemgetcb: Callback to get Evas object for item at (x,y)
+ # :param entercb: The function to call when the object is entered with a drag
+ # :param enterdata: The application data to pass to enterdata
+ # :param leavecb: The function to call when the object is left with a drag
+ # :param leavedata: The application data to pass to leavedata
+ # :param poscb: The function to call when the object has a drag over it
+ # :param posdata: The application data to pass to posdata
+ # :param dropcb: The function to call when a drop has occurred
+ # :param cbdata: The application data to pass to dropcb
+
+ # :raise RuntimeError: if setting drop target failed.
+
+ # :since: 1.8
+
+ # """
+ # if itemgetcb is not None:
+ # if not callable(itemgetcb):
+ # raise TypeError("itemgetcb must be callable.")
+ # self.data["xy_item_get_cb"] = itemgetcb
+
+ # self.data["drag_item_container_pos"] = poscb
+ # self.data["drop_item_container_cb"] = dropcb
+
+ # if not elm_drop_item_container_add(self.obj,
+ # format,
+ # py_elm_xy_item_get_cb if itemgetcb is not None else NULL,
+ # py_elm_drag_state_cb if entercb is not None else NULL,
+ # enterdata if enterdata is not None else NULL,
+ # py_elm_drag_state_cb if leavecb is not None else NULL,
+ # leavedata if leavedata is not None else NULL,
+ # py_elm_drag_item_container_pos if poscb is not None else NULL,
+ # posdata if posdata is not None else NULL,
+ # py_elm_drop_item_container_cb if dropcb is not None else NULL,
+ # cbdata if cbdata is not None else NULL):
+ # raise RuntimeError
+
+ # def drop_item_container_del(self):
+ # """
+
+ # Removes a container from list of drop tragets.
+
+ # :raise RuntimeError: if deleting drop target failed.
+
+ # :since: 1.8
+
+ # """
+ # if not elm_drop_item_container_del(self.obj):
+ # raise RuntimeError
@@ -625,8 +629,8 @@
has its implementing Evas object instantiated, de facto.
``event_info`` is the gengrid item that was created. The object
may be deleted at any time, so it is highly advised to the
- caller **not** to use the object pointer returned from
- elm_gengrid_item_object_get(), because it may point to freed
+ caller **not** to use the object returned from
+ :py:attr:`GengridItem.object`, because it may point to freed
objects."""
self._callback_add_full("realized", _cb_object_item_conv,
func, *args, **kwargs)
@@ -822,7 +826,7 @@
def callback_focused_add(self, func, *args, **kwargs):
"""When the gengrid has received focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("focused", func, *args, **kwargs)
@@ -832,7 +836,7 @@
def callback_unfocused_add(self, func, *args, **kwargs):
"""When the gengrid has lost focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("unfocused", func, *args, **kwargs)
@@ -841,6 +845,12 @@
property scroller_policy:
+ """
+
+ .. deprecated:: 1.8
+ You should combine with Scrollable class instead.
+
+ """
def __get__(self):
return self.scroller_policy_get()
@@ -859,6 +869,12 @@
return (policy_h, policy_v)
property bounce:
+ """
+
+ .. deprecated:: 1.8
+ You should combine with Scrollable class instead.
+
+ """
def __get__(self):
return self.bounce_get()
def __set__(self, value):
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/genlist.pyx python-efl-1.8.2~201401231220/efl/elementary/genlist.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/genlist.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/genlist.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -28,7 +28,7 @@
it was also made to be able to do tree structures. But the price to pay
is more complexity when it comes to usage. If all you want is a simple
list with icons and a single text, use the normal
-:py:class:`elementary.list.List` object.
+:py:class:`~efl.elementary.list.List` object.
Genlist has a fairly large API, mostly because it's relatively complex,
trying to be both expansive, powerful and efficient. First we will begin
@@ -44,7 +44,7 @@
Genlist will call the functions in this struct (methods) when an item is
"realized" (i.e., created dynamically, while the user is scrolling the
grid). All objects will simply be deleted when no longer needed with
-evas_object_del(). The #Elm_Genlist_Item_Class structure contains the
+:py:meth:`~efl.evas.Object.delete`. :py:class:`GenlistItemClass` contains the
following members:
- ``item_style`` - This is a constant string and simply defines the name
@@ -53,42 +53,41 @@
- ``decorate_item_style`` - This is a constant string and simply defines
the name of the decorate mode item style. It is used to specify
decorate mode item style. It can be used when you call
- elm_genlist_item_decorate_mode_set().
+ :py:attr:`GenlistItem.decorate_mode`.
- ``decorate_all_item_style`` - This is a constant string and simply
defines the name of the decorate all item style. It is used to specify
decorate all item style. It can be used to set selection, checking and
deletion mode. This is used when you call
- elm_genlist_decorate_mode_set().
+ :py:attr:`Genlist.decorate_mode`.
- ``func`` - A struct with pointers to functions that will be called when
an item is going to be actually created. All of them receive a ``data``
parameter that will point to the same data passed to
- elm_genlist_item_append() and related item creation functions, and an
+ :py:meth:`GenlistItem.append_to` and related item creation functions, and an
``obj`` parameter that points to the genlist object itself.
-The function pointers inside ``func`` are ``text_get,`` ``content_get,``
-``state_get`` and ``del.`` The 3 first functions also receive a ``part``
+The function pointers inside ``func`` are ``text_get``, ``content_get``,
+``state_get`` and ``del``. The 3 first functions also receive a ``part``
parameter described below. A brief description of these functions follows:
- ``text_get`` - The ``part`` parameter is the name string of one of the
existing text parts in the Edje group implementing the item's theme.
- This function **must** return a strdup'()ed string, as the caller will
- free() it when done. See #Elm_Genlist_Item_Text_Get_Cb.
+ See :py:meth:`GenlistItemClass.text_get`.
- ``content_get`` - The ``part`` parameter is the name string of one of the
existing (content) swallow parts in the Edje group implementing the
item's theme. It must return ``None``, when no content is desired, or
a valid object handle, otherwise. The object will be deleted by the
genlist on its deletion or when the item is "unrealized". See
- #Elm_Genlist_Item_Content_Get_Cb.
+ :py:meth:`GenlistItemClass.content_get`.
- ``func.state_get`` - The ``part`` parameter is the name string of one of
the state parts in the Edje group implementing the item's theme. Return
``False`` for false/off or ``True`` for true/on. Genlists will
emit a signal to its theming Edje object with ``"elm,state,xxx,active"``
and ``"elm"`` as "emission" and "source" arguments, respectively, when
the state is true (the default is false), where ``xxx`` is the name of
- the (state) part. See #Elm_Genlist_Item_State_Get_Cb.
+ the (state) part. See :py:meth:`GenlistItemClass.state_get`.
- ``func.del`` - This is intended for use when genlist items are deleted,
so any data attached to the item (e.g. its data parameter on creation)
- can be deleted. See #Elm_Genlist_Item_Del_Cb.
+ can be deleted. See :py:meth:`GenlistItemClass.delete`.
Available item styles:
@@ -111,12 +110,12 @@
theming Edje object) and 0 or more **boolean states**, which have the
behavior left to the user to define. The Edje part names for each of
these properties will be looked up, in the theme file for the genlist,
-under the Edje (string) data items named ``"labels",`` ``"contents"``
-and ``"states",`` respectively. For each of those properties, if more
+under the Edje (string) data items named ``labels``, ``contents``
+and ``states``, respectively. For each of those properties, if more
than one part is provided, they must have names listed separated by
spaces in the data fields. For the default genlist item theme, we have
-**one** text part (``"elm.text"),`` **two** content parts
-(``"elm.swallow.icon"`` and ``"elm.swallow.end")`` and **no** state parts.
+**one** text part (``elm.text``), **two** content parts
+(``elm.swallow.icon`` and ``elm.swallow.end``) and **no** state parts.
A genlist item may be at one of several styles. Elementary provides one
by default - "default", but this can be extended by system or application
@@ -141,25 +140,26 @@
data parameter will be the func_data parameter, ``obj`` be the genlist
object and event_info will be the genlist item.
-elm_genlist_item_append() adds an item to the end of the list, or if
+:py:meth:`GenlistItem.append_to` adds an item to the end of the list, or if
there is a parent, to the end of all the child items of the parent.
-elm_genlist_item_prepend() is the same but adds to the beginning of
-the list or children list. elm_genlist_item_insert_before() inserts at
-item before another item and elm_genlist_item_insert_after() inserts after
+:py:meth:`GenlistItem.prepend_to` is the same but adds to the beginning of
+the list or children list. :py:meth:`GenlistItem.insert_before` inserts at
+item before another item and :py:meth:`GenlistItem.insert_after` inserts after
the indicated item.
-The application can clear the list with elm_genlist_clear() which deletes
-all the items in the list and elm_object_item_del() will delete a specific
-item. elm_genlist_item_subitems_clear() will clear all items that are
+The application can clear the list with :py:meth:`Genlist.clear` which deletes
+all the items in the list and
+:py:meth:`~efl.elementary.object_item.ObjectItem.delete` will delete a specific
+item. :py:meth:`GenlistItem.subitems_clear` will clear all items that are
children of the indicated parent item.
To help inspect list items you can jump to the item at the top of the list
-with elm_genlist_first_item_get() which will return the item pointer, and
-similarly elm_genlist_last_item_get() gets the item at the end of the list.
-elm_genlist_item_next_get() and elm_genlist_item_prev_get() get the next
+with :py:attr:`Genlist.first_item` which will return the item pointer, and
+similarly :py:attr:`Genlist.last_item` gets the item at the end of the list.
+:py:attr:`GenlistItem.next` and :py:attr:`GenlistItem.prev` get the next
and previous items respectively relative to the indicated item. Using
these calls you can walk the entire item list/tree. Note that as a tree
-the items are flattened in the list, so elm_genlist_item_parent_get() will
+the items are flattened in the list, so :py:attr:`GenlistItem.parent` will
let you know which item is the parent (and thus know how to skip them if
wanted).
@@ -167,37 +167,36 @@
===============
If the application wants multiple items to be able to be selected,
-elm_genlist_multi_select_set() can enable this. If the list is
-single-selection only (the default), then elm_genlist_selected_item_get()
+:py:attr:`Genlist.multi_select` can enable this. If the list is
+single-selection only (the default), then :py:attr:`Genlist.selected_item`
will return the selected item, if any, or None if none is selected. If the
-list is multi-select then elm_genlist_selected_items_get() will return a
+list is multi-select then :py:attr:`Genlist.selected_items` will return a
list (that is only valid as long as no items are modified (added, deleted,
selected or unselected)).
Usage hints
===========
-There are also convenience functions. elm_object_item_widget_get() will
-return the genlist object the item belongs to. elm_genlist_item_show()
-will make the scroller scroll to show that specific item so its visible.
-elm_object_item_data_get() returns the data pointer set by the item
-creation functions.
+There are also convenience functions.
+:py:attr:`efl.elementary.object_item.ObjectItem.widget` will return the genlist
+object the item belongs to. :py:meth:`GenlistItem.show` will make the scroller
+scroll to show that specific item so its visible.
+:py:attr:`efl.elementary.object_item.ObjectItem.data` returns the data pointer
+set by the item creation functions.
If an item changes (state of boolean changes, text or contents change),
-then use elm_genlist_item_update() to have genlist update the item with
+then use :py:meth:`GenlistItem.update` to have genlist update the item with
the new state. Genlist will re-realize the item and thus call the functions
in the _Elm_Genlist_Item_Class for that item.
-To programmatically (un)select an item use elm_genlist_item_selected_set().
-To get its selected state use elm_genlist_item_selected_get(). Similarly
-to expand/contract an item and get its expanded state, use
-elm_genlist_item_expanded_set() and elm_genlist_item_expanded_get(). And
-again to make an item disabled (unable to be selected and appear
-differently) use elm_object_item_disabled_set() to set this and
-elm_object_item_disabled_get() to get the disabled state.
+Use :py:attr:`GenlistItem.selected` to programmatically (un)select an item or
+get its selected state. Similarly to expand/contract an item and get its
+expanded state, use :py:attr:`GenlistItem.expanded`. And again to make an item
+disabled (unable to be selected and appear differently) use
+:py:attr:`GenlistItem.disabled` to set this and get the disabled state.
In general to indicate how the genlist should expand items horizontally to
-fill the list area, use elm_genlist_mode_set(). Valid modes are
+fill the list area, use :py:attr:`Genlist.mode`. Valid modes are
ELM_LIST_LIMIT, ELM_LIST_COMPRESS and ELM_LIST_SCROLL. The default is
ELM_LIST_SCROLL. This mode means that if items are too wide to fit, the
scroller will scroll horizontally. Otherwise items are expanded to
@@ -210,16 +209,17 @@
Items will only call their selection func and callback when first becoming
selected. Any further clicks will do nothing, unless you enable always
-select with elm_genlist_select_mode_set() as ELM_OBJECT_SELECT_MODE_ALWAYS.
+select with :py:attr:`Genlist.select_mode` as ELM_OBJECT_SELECT_MODE_ALWAYS.
This means even if selected, every click will make the selected callbacks
-be called. elm_genlist_select_mode_set() as ELM_OBJECT_SELECT_MODE_NONE will
+be called. :py:attr:`Genlist.select_mode` as ELM_OBJECT_SELECT_MODE_NONE will
turn off the ability to select items entirely and they will neither
appear selected nor call selected callback functions.
-Remember that you can create new styles and add your own theme augmentation
-per application with elm_theme_extension_add(). If you absolutely must
-have a specific style that overrides any theme the user or system sets up
-you can use elm_theme_overlay_add() to add such a file.
+Remember that you can create new styles and add your own theme augmentation per
+application with :py:meth:`efl.elementary.theme.Theme.extension_add`. If you
+absolutely must have a specific style that overrides any theme the user or
+system sets up you can use :py:meth:`efl.elementary.theme.Theme.overlay_add` to
+add such a file.
Scrollable Interface
====================
@@ -228,7 +228,7 @@
If you wish to control the scolling behaviour using these functions,
inherit both the widget class and the
-:py:class:`Scrollable` class
+:py:class:`~efl.elementary.scroller.Scrollable` class
using multiple inheritance, for example::
class ScrollableGenlist(Genlist, Scrollable):
@@ -271,95 +271,95 @@
Signals that you can add callbacks for are:
-- ``"activated"`` - The user has double-clicked or pressed
+- ``activated`` - The user has double-clicked or pressed
(enter|return|spacebar) on an item. The ``event_info`` parameter is the
item that was activated.
-- ``"clicked,double"`` - The user has double-clicked an item. The
+- ``clicked,double`` - The user has double-clicked an item. The
``event_info`` parameter is the item that was double-clicked.
-- ``"selected"`` - This is called when a user has made an item selected.
+- ``selected`` - This is called when a user has made an item selected.
The event_info parameter is the genlist item that was selected.
-- ``"unselected"`` - This is called when a user has made an item
+- ``unselected`` - This is called when a user has made an item
unselected. The event_info parameter is the genlist item that was
unselected.
-- ``"expanded"`` - This is called when elm_genlist_item_expanded_set() is
+- ``expanded`` - This is called when :py:attr:`GenlistItem.expanded` is
called and the item is now meant to be expanded. The event_info
parameter is the genlist item that was indicated to expand. It is the
job of this callback to then fill in the child items.
-- ``"contracted"`` - This is called when elm_genlist_item_expanded_set() is
+- ``contracted`` - This is called when :py:attr:`GenlistItem.expanded` is
called and the item is now meant to be contracted. The event_info
parameter is the genlist item that was indicated to contract. It is the
job of this callback to then delete the child items.
-- ``"expand,request"`` - This is called when a user has indicated they want
+- ``expand,request`` - This is called when a user has indicated they want
to expand a tree branch item. The callback should decide if the item can
- expand (has any children) and then call elm_genlist_item_expanded_set()
+ expand (has any children) and then call :py:attr:`GenlistItem.expanded`
appropriately to set the state. The event_info parameter is the genlist
item that was indicated to expand.
-- ``"contract,request"`` - This is called when a user has indicated they
+- ``contract,request`` - This is called when a user has indicated they
want to contract a tree branch item. The callback should decide if the
item can contract (has any children) and then call
- elm_genlist_item_expanded_set() appropriately to set the state. The
+ :py:attr:`GenlistItem.expanded` appropriately to set the state. The
event_info parameter is the genlist item that was indicated to contract.
-- ``"realized"`` - This is called when the item in the list is created as a
+- ``realized`` - This is called when the item in the list is created as a
real evas object. event_info parameter is the genlist item that was
created.
-- ``"unrealized"`` - This is called just before an item is unrealized.
+- ``unrealized`` - This is called just before an item is unrealized.
After this call content objects provided will be deleted and the item
object itself delete or be put into a floating cache.
-- ``"drag,start,up"`` - This is called when the item in the list has been
+- ``drag,start,up`` - This is called when the item in the list has been
dragged (not scrolled) up.
-- ``"drag,start,down"`` - This is called when the item in the list has been
+- ``drag,start,down`` - This is called when the item in the list has been
dragged (not scrolled) down.
-- ``"drag,start,left"`` - This is called when the item in the list has been
+- ``drag,start,left`` - This is called when the item in the list has been
dragged (not scrolled) left.
-- ``"drag,start,right"`` - This is called when the item in the list has
+- ``drag,start,right`` - This is called when the item in the list has
been dragged (not scrolled) right.
-- ``"drag,stop"`` - This is called when the item in the list has stopped
+- ``drag,stop`` - This is called when the item in the list has stopped
being dragged.
-- ``"drag"`` - This is called when the item in the list is being dragged.
-- ``"longpressed"`` - This is called when the item is pressed for a certain
+- ``drag`` - This is called when the item in the list is being dragged.
+- ``longpressed`` - This is called when the item is pressed for a certain
amount of time. By default it's 1 second. The event_info parameter is the
longpressed genlist item.
-- ``"scroll,anim,start"`` - This is called when scrolling animation has
+- ``scroll,anim,start`` - This is called when scrolling animation has
started.
-- ``"scroll,anim,stop"`` - This is called when scrolling animation has
+- ``scroll,anim,stop`` - This is called when scrolling animation has
stopped.
-- ``"scroll,drag,start"`` - This is called when dragging the content has
+- ``scroll,drag,start`` - This is called when dragging the content has
started.
-- ``"scroll,drag,stop"`` - This is called when dragging the content has
+- ``scroll,drag,stop`` - This is called when dragging the content has
stopped.
-- ``"edge,top"`` - This is called when the genlist is scrolled until
+- ``edge,top`` - This is called when the genlist is scrolled until
the top edge.
-- ``"edge,bottom"`` - This is called when the genlist is scrolled
+- ``edge,bottom`` - This is called when the genlist is scrolled
until the bottom edge.
-- ``"edge,left"`` - This is called when the genlist is scrolled
+- ``edge,left`` - This is called when the genlist is scrolled
until the left edge.
-- ``"edge,right"`` - This is called when the genlist is scrolled
+- ``edge,right`` - This is called when the genlist is scrolled
until the right edge.
-- ``"multi,swipe,left"`` - This is called when the genlist is multi-touch
+- ``multi,swipe,left`` - This is called when the genlist is multi-touch
swiped left.
-- ``"multi,swipe,right"`` - This is called when the genlist is multi-touch
+- ``multi,swipe,right`` - This is called when the genlist is multi-touch
swiped right.
-- ``"multi,swipe,up"`` - This is called when the genlist is multi-touch
+- ``multi,swipe,up`` - This is called when the genlist is multi-touch
swiped up.
-- ``"multi,swipe,down"`` - This is called when the genlist is multi-touch
+- ``multi,swipe,down`` - This is called when the genlist is multi-touch
swiped down.
-- ``"multi,pinch,out"`` - This is called when the genlist is multi-touch
+- ``multi,pinch,out`` - This is called when the genlist is multi-touch
pinched out.
-- ``multi,pinch,in"`` - This is called when the genlist is multi-touch
+- ``multi,pinch,in`` - This is called when the genlist is multi-touch
pinched in.
-- ``"swipe"`` - This is called when the genlist is swiped.
-- ``"moved"`` - This is called when a genlist item is moved in reorder mode.
-- ``"moved,after"`` - This is called when a genlist item is moved after
+- ``swipe`` - This is called when the genlist is swiped.
+- ``moved`` - This is called when a genlist item is moved in reorder mode.
+- ``moved,after`` - This is called when a genlist item is moved after
another item in reorder mode. The event_info parameter is the reordered
- item. To get the relative previous item, use elm_genlist_item_prev_get().
+ item. To get the relative previous item, use :py:attr:`GenlistItem.prev`.
This signal is called along with "moved" signal.
-- ``"moved,before"`` - This is called when a genlist item is moved before
+- ``moved,before`` - This is called when a genlist item is moved before
another item in reorder mode. The event_info parameter is the reordered
- item. To get the relative previous item, use elm_genlist_item_next_get().
+ item. To get the relative previous item, use :py:attr:`GenlistItem.next`.
This signal is called along with "moved" signal.
-- ``"language,changed"`` - This is called when the program's language is
+- ``language,changed`` - This is called when the program's language is
changed.
-- ``"tree,effect,finished"`` - This is called when a genlist tree effect
+- ``tree,effect,finished`` - This is called when a genlist tree effect
is finished.
- ``highlighted`` - an item in the list is highlighted. This is called when
the user presses an item or keyboard selection is done so the item is
@@ -507,6 +507,7 @@
include "tooltips.pxi"
from cpython cimport PyUnicode_AsUTF8String, Py_DECREF, Py_INCREF
+from libc.stdint cimport uintptr_t
from efl.eo cimport _object_mapping_register, PY_REFCOUNT
from efl.utils.conversions cimport _ctouni
@@ -569,7 +570,7 @@
ELM_SEL_TYPE_XDND = enums.ELM_SEL_TYPE_XDND
ELM_SEL_TYPE_CLIPBOARD = enums.ELM_SEL_TYPE_CLIPBOARD
-def _cb_object_item_conv(long addr):
+def _cb_object_item_conv(uintptr_t addr):
cdef Elm_Object_Item *it = addr
return _object_item_to_python(it)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/genlist_item.pxi python-efl-1.8.2~201401231220/efl/elementary/genlist_item.pxi
--- python-efl-1.17.99~201312040125/efl/elementary/genlist_item.pxi 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/genlist_item.pxi 2014-01-18 12:24:01.000000000 +0000
@@ -12,7 +12,7 @@
GenlistItemClass item_class not None, item_data=None,
GenlistItem parent_item=None,
Elm_Genlist_Item_Type flags=enums.ELM_GENLIST_ITEM_NONE,
- func=None, func_data=None):
+ func=None, func_data=None, *args, **kwargs):
"""Create a new GenlistItem.
:param item_data: Data that defines the model of this row.
@@ -59,6 +59,8 @@
self.item_data = item_data
self.cb_func = func
self.func_data = func_data
+ self.args = args
+ self.kwargs = kwargs
def __dealloc__(self):
self.parent_item = NULL
@@ -79,9 +81,9 @@
return ("<%s(%#x, refcount=%d, Elm_Object_Item=%#x, "
"item_class=%s, func=%s, item_data=%r)>") % (
type(self).__name__,
- self,
+ self,
PY_REFCOUNT(self),
- self.item,
+ self.item,
type(self.item_class).__name__,
self.cb_func,
self.item_data
@@ -110,12 +112,12 @@
self.flags,
cb, self)
- if item is not NULL:
- self._set_obj(item)
- return self
- else:
- Py_DECREF(self)
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
def prepend_to(self, Genlist genlist not None):
"""prepend_to(Genlist genlist) -> GenlistItem
@@ -140,12 +142,12 @@
self.flags,
cb, self)
- if item is not NULL:
- self._set_obj(item)
- return self
- else:
- Py_DECREF(self)
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
def insert_before(self, GenlistItem before_item=None):
"""insert_before(GenlistItem before_item=None) -> GenlistItem
@@ -174,12 +176,12 @@
self.flags,
cb, self)
- if item is not NULL:
- self._set_obj(item)
- return self
- else:
- Py_DECREF(self)
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
def insert_after(self, GenlistItem after_item=None):
"""insert_after(GenlistItem after_item=None) -> GenlistItem
@@ -208,12 +210,12 @@
self.flags,
cb, self)
- if item is not NULL:
- self._set_obj(item)
- return self
- else:
- Py_DECREF(self)
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
def sorted_insert(self, Genlist genlist not None, comparison_func):
"""sorted_insert(Genlist genlist, comparison_func) -> GenlistItem
@@ -258,12 +260,12 @@
_py_elm_genlist_compare_func,
cb, self)
- if item is not NULL:
- self._set_obj(item)
- return self
- else:
- Py_DECREF(self)
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
property data:
"""User data for the item."""
@@ -604,7 +606,7 @@
The theme will respond to this change visually, and a signal
"expanded" or "contracted" will be sent from the genlist with a
- pointer to the item that has been expanded/contracted.
+ the item that has been expanded/contracted.
Calling this function won't show or hide any child of this item (if
it is a parent). You must manually delete and create them on the
@@ -696,14 +698,14 @@
mode is activated on an item, any other selected item is immediately
unselected. This feature provides an easy way of implementing a new
kind of animation for selecting an item, without having to entirely
- rewrite the item style theme. However, the elm_genlist_selected_*
+ rewrite the item style theme. However, the Genlist.selected_*
API can't be used to get what item is activate for a mode.
The current item style will still be used, but applying a genlist
mode to an item will select it using a different kind of animation.
- The current active item for a mode can be found by
- elm_genlist_decorated_item_get().
+ The current active item for a mode can be found at
+ :py:attr:`Genlist.decorated_item`.
The characteristics of genlist mode are:
@@ -724,7 +726,7 @@
:type: (unicode **decorate_it_type**, bool **decorate_it_set**)
- .. seealso:: :py:attr:`mode` :py:attr:`decorated_item`
+ .. seealso:: :py:attr:`Genlist.mode`
"""
def __set__(self, value):
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/genlist_item_class.pxi python-efl-1.8.2~201401231220/efl/elementary/genlist_item_class.pxi
--- python-efl-1.17.99~201312040125/efl/elementary/genlist_item_class.pxi 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/genlist_item_class.pxi 2014-01-18 12:24:01.000000000 +0000
@@ -132,9 +132,9 @@
"item_style=%r, text_get_func=%s, content_get_func=%s, "
"state_get_func=%s, del_func=%s)>") % \
(type(self).__name__,
- self,
+ self,
PY_REFCOUNT(self),
- self.cls,
+ self.cls,
_ctouni(self.cls.item_style),
self._text_get_func,
self._content_get_func,
@@ -142,15 +142,27 @@
self._del_func)
def ref(self):
- """Increase the C level reference count."""
+ """Increase the C level reference count.
+
+ .. versionadded:: 1.8
+
+ """
elm_genlist_item_class_ref(self.cls)
def unref(self):
- """Decrease the C level reference count."""
+ """Decrease the C level reference count.
+
+ .. versionadded:: 1.8
+
+ """
elm_genlist_item_class_unref(self.cls)
def free(self):
- """Free the C level struct."""
+ """Free the C level struct.
+
+ .. versionadded:: 1.8
+
+ """
elm_genlist_item_class_free(self.cls)
property item_style:
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/genlist_widget.pxi python-efl-1.8.2~201401231220/efl/elementary/genlist_widget.pxi
--- python-efl-1.17.99~201312040125/efl/elementary/genlist_widget.pxi 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/genlist_widget.pxi 2014-01-18 12:24:01.000000000 +0000
@@ -1,4 +1,4 @@
-include "cnp_callbacks.pxi"
+#include "cnp_callbacks.pxi"
cdef class Genlist(Object):
@@ -322,15 +322,15 @@
return _object_item_to_python(elm_genlist_selected_item_get(self.obj))
property selected_items:
- """It returns a list of the selected items. This list pointer is
+ """It returns a list of the selected items. This list is
only valid so long as the selection doesn't change (no items are
selected or unselected, or unselected implicitly by deletion). The
- list contains genlist items pointers. The order of the items in this
+ list contains genlist items. The order of the items in this
list is the order which they were selected, i.e. the first item in
this list is the first item that was selected, and so on.
.. note:: If not in multi-select mode, consider using function
- elm_genlist_selected_item_get() instead.
+ :py:attr:`Genlist.selected_item` instead.
.. seealso:: :py:attr:`multi_select` :py:attr:`selected_item`
@@ -345,7 +345,7 @@
property realized_items:
"""This returns a list of the realized items in the genlist. The list
- contains genlist item pointers. The list must be freed by the
+ contains genlist items. The list must be freed by the
caller when done with eina_list_free(). The item pointers in the
list are only valid so long as those items are not deleted or the
genlist is not deleted.
@@ -357,6 +357,8 @@
"""
def __get__(self):
return _object_item_list_to_python(elm_genlist_realized_items_get(self.obj))
+ # XXX: Free the list? We could return a custom list-like object here
+ # that frees the C list in its __dealloc__
def realized_items_get(self):
return _object_item_list_to_python(elm_genlist_realized_items_get(self.obj))
@@ -394,9 +396,9 @@
the original item data has changed and the changes are desired to be
reflected.
- To update just one item, use elm_genlist_item_update().
+ To update just one item, use :py:meth:`Genlist.item_update`.
- .. seealso:: :py:attr:`realized_items` :py:func:`item_update()`
+ .. seealso:: :py:attr:`realized_items`
"""
elm_genlist_realized_items_update(self.obj)
@@ -643,7 +645,7 @@
:return: The item stored in the object at position ``nth`` or
``None``, if there's no item with that index (and on errors)
- :since: 1.8
+ .. versionadded:: 1.8
"""
return _object_item_to_python(elm_genlist_nth_item_get(self.obj, nth))
@@ -662,6 +664,8 @@
key movement. Clicking on a focusable widget inside an item will
couse this particular item to get focus as usual.
+ .. versionadded:: 1.8
+
"""
def __set__(self, bint enabled):
elm_genlist_focus_on_selection_set(self.obj, enabled)
@@ -670,111 +674,111 @@
return bool(elm_genlist_focus_on_selection_get(self.obj))
#
- # Drag and Drop
+ # TODO: Drag and Drop
# =============
- def drag_item_container_add(self,
- double tm_to_anim, double tm_to_drag,
- itemgetcb = None,
- data_get = None):
- """
-
- Set a item container (list, genlist, grid) as source of drag
-
- :param tm_to_anim: Time period to wait before start animation.
- :param tm_to_drag: Time period to wait before start draggind.
- :param itemgetcb: Callback to get Evas_Object pointer for item at (x,y)
- :param data_get: Callback to get drag info
-
- :raise RuntimeError: if setting drag source failed.
-
- :since: 1.8
-
- """
- if itemgetcb is not None:
- if not callable(itemgetcb):
- raise TypeError("itemgetcb must be callable.")
- self.data["xy_item_get_cb"] = itemgetcb
-
- self.data["item_container_data_get_cb"] = data_get
-
- if not elm_drag_item_container_add(self.obj,
- tm_to_anim,
- tm_to_drag,
- py_elm_xy_item_get_cb if itemgetcb is not None else NULL,
- py_elm_item_container_data_get_cb if data_get is not None else NULL):
- raise RuntimeError
-
- def drag_item_container_del(self):
- """
-
- Deletes a item container from drag-source list
-
- :raise RuntimeError: if deleting drag source failed.
-
- :since: 1.8
-
- """
- if not elm_drag_item_container_del(self.obj):
- raise RuntimeError
-
- def drop_item_container_add(self, Elm_Sel_Format format,
- itemgetcb = None, entercb = None, enterdata = None,
- leavecb = None, leavedata = None,
- poscb = None, posdata = None, dropcb = None, cbdata = None):
- """
-
- Set a item container (list, genlist, grid) as target for drop.
-
- :param format: The formats supported for dropping
- :param itemgetcb: Callback to get Evas_Object pointer for item at (x,y)
- :param entercb: The function to call when the object is entered with a drag
- :param enterdata: The application data to pass to enterdata
- :param leavecb: The function to call when the object is left with a drag
- :param leavedata: The application data to pass to leavedata
- :param poscb: The function to call when the object has a drag over it
- :param posdata: The application data to pass to posdata
- :param dropcb: The function to call when a drop has occurred
- :param cbdata: The application data to pass to dropcb
-
- :raise RuntimeError: if setting drop target failed.
-
- :since: 1.8
-
- """
- if itemgetcb is not None:
- if not callable(itemgetcb):
- raise TypeError("itemgetcb must be callable.")
- self.data["xy_item_get_cb"] = itemgetcb
-
- self.data["drag_item_container_pos"] = poscb
- self.data["drop_item_container_cb"] = dropcb
-
- if not elm_drop_item_container_add(self.obj,
- format,
- py_elm_xy_item_get_cb if itemgetcb is not None else NULL,
- py_elm_drag_state_cb if entercb is not None else NULL,
- enterdata if enterdata is not None else NULL,
- py_elm_drag_state_cb if leavecb is not None else NULL,
- leavedata if leavedata is not None else NULL,
- py_elm_drag_item_container_pos if poscb is not None else NULL,
- posdata if posdata is not None else NULL,
- py_elm_drop_item_container_cb if dropcb is not None else NULL,
- cbdata if cbdata is not None else NULL):
- raise RuntimeError
-
- def drop_item_container_del(self):
- """
-
- Removes a container from list of drop tragets.
-
- :raise RuntimeError: if deleting drop target failed.
-
- :since: 1.8
-
- """
- if not elm_drop_item_container_del(self.obj):
- raise RuntimeError
+ # def drag_item_container_add(self,
+ # double tm_to_anim, double tm_to_drag,
+ # itemgetcb = None,
+ # data_get = None):
+ # """
+
+ # Set a item container (list, genlist, grid) as source of drag
+
+ # :param tm_to_anim: Time period to wait before start animation.
+ # :param tm_to_drag: Time period to wait before start draggind.
+ # :param itemgetcb: Callback to get Evas object for item at (x,y)
+ # :param data_get: Callback to get drag info
+
+ # :raise RuntimeError: if setting drag source failed.
+
+ # :since: 1.8
+
+ # """
+ # if itemgetcb is not None:
+ # if not callable(itemgetcb):
+ # raise TypeError("itemgetcb must be callable.")
+ # self.data["xy_item_get_cb"] = itemgetcb
+
+ # self.data["item_container_data_get_cb"] = data_get
+
+ # if not elm_drag_item_container_add(self.obj,
+ # tm_to_anim,
+ # tm_to_drag,
+ # py_elm_xy_item_get_cb if itemgetcb is not None else NULL,
+ # py_elm_item_container_data_get_cb if data_get is not None else NULL):
+ # raise RuntimeError
+
+ # def drag_item_container_del(self):
+ # """
+
+ # Deletes a item container from drag-source list
+
+ # :raise RuntimeError: if deleting drag source failed.
+
+ # :since: 1.8
+
+ # """
+ # if not elm_drag_item_container_del(self.obj):
+ # raise RuntimeError
+
+ # def drop_item_container_add(self, Elm_Sel_Format format,
+ # itemgetcb = None, entercb = None, enterdata = None,
+ # leavecb = None, leavedata = None,
+ # poscb = None, posdata = None, dropcb = None, cbdata = None):
+ # """
+
+ # Set a item container (list, genlist, grid) as target for drop.
+
+ # :param format: The formats supported for dropping
+ # :param itemgetcb: Callback to get Evas object for item at (x,y)
+ # :param entercb: The function to call when the object is entered with a drag
+ # :param enterdata: The application data to pass to enterdata
+ # :param leavecb: The function to call when the object is left with a drag
+ # :param leavedata: The application data to pass to leavedata
+ # :param poscb: The function to call when the object has a drag over it
+ # :param posdata: The application data to pass to posdata
+ # :param dropcb: The function to call when a drop has occurred
+ # :param cbdata: The application data to pass to dropcb
+
+ # :raise RuntimeError: if setting drop target failed.
+
+ # :since: 1.8
+
+ # """
+ # if itemgetcb is not None:
+ # if not callable(itemgetcb):
+ # raise TypeError("itemgetcb must be callable.")
+ # self.data["xy_item_get_cb"] = itemgetcb
+
+ # self.data["drag_item_container_pos"] = poscb
+ # self.data["drop_item_container_cb"] = dropcb
+
+ # if not elm_drop_item_container_add(self.obj,
+ # format,
+ # py_elm_xy_item_get_cb if itemgetcb is not None else NULL,
+ # py_elm_drag_state_cb if entercb is not None else NULL,
+ # enterdata if enterdata is not None else NULL,
+ # py_elm_drag_state_cb if leavecb is not None else NULL,
+ # leavedata if leavedata is not None else NULL,
+ # py_elm_drag_item_container_pos if poscb is not None else NULL,
+ # posdata if posdata is not None else NULL,
+ # py_elm_drop_item_container_cb if dropcb is not None else NULL,
+ # cbdata if cbdata is not None else NULL):
+ # raise RuntimeError
+
+ # def drop_item_container_del(self):
+ # """
+
+ # Removes a container from list of drop tragets.
+
+ # :raise RuntimeError: if deleting drop target failed.
+
+ # :since: 1.8
+
+ # """
+ # if not elm_drop_item_container_del(self.obj):
+ # raise RuntimeError
def callback_activated_add(self, func, *args, **kwargs):
@@ -997,7 +1001,7 @@
def callback_focused_add(self, func, *args, **kwargs):
"""When the genlist has received focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("focused", func, *args, **kwargs)
@@ -1007,7 +1011,7 @@
def callback_unfocused_add(self, func, *args, **kwargs):
"""When the genlist has lost focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("unfocused", func, *args, **kwargs)
@@ -1015,6 +1019,12 @@
self._callback_del("unfocused", func)
property scroller_policy:
+ """
+
+ .. deprecated:: 1.8
+ You should combine with Scrollable class instead.
+
+ """
def __get__(self):
return self.scroller_policy_get()
@@ -1033,6 +1043,12 @@
return (policy_h, policy_v)
property bounce:
+ """
+
+ .. deprecated:: 1.8
+ You should combine with Scrollable class instead.
+
+ """
def __get__(self):
return self.bounce_get()
def __set__(self, value):
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/gesture_layer.pyx python-efl-1.8.2~201401231220/efl/elementary/gesture_layer.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/gesture_layer.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/gesture_layer.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -65,7 +65,7 @@
Note that we consider a flick as a line-gesture that should be completed
in flick-time-limit as defined in
-:py:class:`elementary.configuration.Configuration`.
+:py:class:`~efl.elementary.configuration.Configuration`.
``Elm_Gesture_Zoom_Info`` is the info reported for ``ELM_GESTURE_ZOOM``
gesture.
@@ -80,7 +80,7 @@
ended and starts again when fingers moved.
Setting glayer_continues_enable to false in
-:py:class:`elementary.configuration.Configuration` will change this
+:py:class:`~efl.elementary.configuration.Configuration` will change this
behavior so gesture starts when user touches (a *DOWN* event)
touch-surface and ends when no fingers touches surface (a *UP* event).
@@ -647,18 +647,19 @@
:param target: The target object to attach to this object.
:type target: :py:class:`~efl.evas.Object`
- :return: ``True``, on success, ``False`` otherwise.
- :rtype: bool
+ .. versionchanged:: 1.8
+ Raise RuntimeError on failure, instead of returning a bool
"""
- return bool(elm_gesture_layer_attach(self.obj, target.obj))
-
+ if not elm_gesture_layer_attach(self.obj, target.obj):
+ raise RuntimeError
property line_min_length:
"""Gesture layer line min length of an object
:type: int
- :since: 1.8
+
+ .. versionadded:: 1.8
"""
def __set__(self, int line_min_length):
@@ -671,7 +672,8 @@
"""Gesture layer zoom distance tolerance of an object
:type: int
- :since: 1.8
+
+ .. versionadded:: 1.8
"""
def __set__(self, int zoom_distance_tolerance):
@@ -684,7 +686,8 @@
"""Gesture layer line distance tolerance of an object
:type: int
- :since: 1.8
+
+ .. versionadded:: 1.8
"""
def __set__(self, int line_distance_tolerance):
@@ -696,9 +699,10 @@
property line_angular_tolerance:
"""Gesture layer line angular tolerance of an object
- :since: 1.8
:type: double
+ .. versionadded:: 1.8
+
"""
def __set__(self, double line_angular_tolerance):
elm_gesture_layer_line_angular_tolerance_set(self.obj, line_angular_tolerance)
@@ -710,7 +714,8 @@
"""Gesture layer zoom wheel factor of an object
:type: double
- :since: 1.8
+
+ .. versionadded:: 1.8
"""
def __set__(self, double zoom_wheel_factor):
@@ -723,7 +728,8 @@
"""Gesture layer zoom finger factor of an object
:type: double
- :since: 1.8
+
+ .. versionadded:: 1.8
"""
def __set__(self, double zoom_finger_factor):
@@ -736,7 +742,8 @@
"""Gesture layer rotate angular tolerance of an object
:type: double
- :since: 1.8
+
+ .. versionadded:: 1.8
"""
def __set__(self, double rotate_angular_tolerance):
@@ -749,7 +756,8 @@
"""Gesture layer flick time limit (in ms) of an object
:type: int
- :since: 1.8
+
+ .. versionadded:: 1.8
"""
def __set__(self, unsigned int flick_time_limit_ms):
@@ -762,7 +770,8 @@
"""Gesture layer long tap start timeout of an object
:type: double
- :since: 1.8
+
+ .. versionadded:: 1.8
"""
def __set__(self, double long_tap_start_timeout):
@@ -775,7 +784,8 @@
"""Gesture layer continues enable of an object
:type: bool
- :since: 1.8
+
+ .. versionadded:: 1.8
"""
def __set__(self, continues_enable):
@@ -788,7 +798,8 @@
"""Gesture layer double tap timeout of an object
:type: double
- :since: 1.8
+
+ .. versionadded:: 1.8
"""
def __set__(self, double double_tap_timeout):
@@ -805,7 +816,8 @@
Set to ZERO if you want GLayer to use system finger size value (default)
:type: int
- :since: 1.8
+
+ .. versionadded:: 1.8
"""
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/glview.pyx python-efl-1.8.2~201401231220/efl/elementary/glview.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/glview.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/glview.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/grid.pyx python-efl-1.8.2~201401231220/efl/elementary/grid.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/grid.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/grid.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/hover.pyx python-efl-1.8.2~201401231220/efl/elementary/hover.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/hover.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/hover.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -45,25 +45,27 @@
This widget emits the following signals, besides the ones sent from
:py:class:`~efl.elementary.layout_class.LayoutClass`:
-- ``"clicked"`` - the user clicked the empty space in the hover to
- dismiss
-- ``"smart,changed"`` - a content object placed under the "smart"
- policy was replaced to a new slot direction.
+- ``clicked`` - the user clicked the empty space in the hover to
+ dismiss.
+- ``dismissed`` - the user clicked the empty space in the hover to dismiss.
+ (since 1.8)
+- ``smart,changed`` - a content object placed under the "smart"
+ policy was replaced to a new slot direction.
- ``focused`` - When the hover has received focus. (since 1.8)
- ``unfocused`` - When the hover has lost focus. (since 1.8)
Default content parts of the hover widget that you can use for are:
-- ``"left"``
-- ``"top-left"``
-- ``"top"``
-- ``"top-right"``
-- ``"right"``
-- ``"bottom-right"``
-- ``"bottom"``
-- ``"bottom-left"``
-- ``"middle"``
-- ``"smart"``
+- ``left``
+- ``top-left``
+- ``top``
+- ``top-right``
+- ``right``
+- ``bottom-right``
+- ``bottom``
+- ``bottom-left``
+- ``middle``
+- ``smart``
All directions may have contents at the same time, except for "smart".
This is a special placement hint and its use case depends of the
@@ -190,7 +192,7 @@
ELM_HOVER_AXIS_BOTH or ELM_HOVER_AXIS_NONE has the same effect and
the returned position may be in either axis.
- .. seealso:: :py:func:`part_content_set()`
+ .. seealso:: :py:meth:`~efl.elementary.object.Object.part_content_set`
:param pref_axis: The preferred orientation axis for the hover
object to use
@@ -222,6 +224,17 @@
def callback_clicked_del(self, func):
self._callback_del("clicked", func)
+ def callback_dismissed_add(self, func, *args, **kwargs):
+ """the user clicked the empty space in the hover to dismiss
+
+ .. versionadded:: 1.8.1
+
+ """
+ self._callback_add("dismissed", func, *args, **kwargs)
+
+ def callback_dismissed_del(self, func):
+ self._callback_del("dismissed", func)
+
def callback_smart_changed_add(self, func, *args, **kwargs):
"""a content object placed under the "smart" policy was replaced to a
new slot direction."""
@@ -233,7 +246,7 @@
def callback_focused_add(self, func, *args, **kwargs):
"""When the hover has received focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("focused", func, *args, **kwargs)
@@ -243,7 +256,7 @@
def callback_unfocused_add(self, func, *args, **kwargs):
"""When the hover has lost focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("unfocused", func, *args, **kwargs)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/hoversel.pyx python-efl-1.8.2~201401231220/efl/elementary/hoversel.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/hoversel.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/hoversel.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -33,21 +33,21 @@
hoversel menu (no more than 8), though is capable of many more.
This widget emits the following signals, besides the ones sent from
-:py:class:`elementary.button.Button`:
+:py:class:`~efl.elementary.button.Button`:
-- ``"clicked"`` - the user clicked the hoversel button and popped up
- the sel
-- ``"selected"`` - an item in the hoversel list is selected. event_info
- is the item
-- ``"dismissed"`` - the hover is dismissed
+- ``clicked`` - the user clicked the hoversel button and popped up
+ the sel
+- ``selected`` - an item in the hoversel list is selected. event_info
+ is the item
+- ``dismissed`` - the hover is dismissed
Default content parts of the hoversel widget that you can use for are:
-- "icon" - An icon of the hoversel
+- ``icon`` - An icon of the hoversel
Default text parts of the hoversel widget that you can use for are:
-- "default" - Label of the hoversel
+- ``default`` - Label of the hoversel
Enumerations
@@ -73,6 +73,7 @@
"""
from cpython cimport PyUnicode_AsUTF8String, Py_DECREF
+from libc.stdint cimport uintptr_t
from efl.eo cimport _object_mapping_register, object_from_instance
from efl.utils.conversions cimport _ctouni
@@ -87,7 +88,7 @@
ELM_ICON_FILE = enums.ELM_ICON_FILE
ELM_ICON_STANDARD = enums.ELM_ICON_STANDARD
-def _cb_object_item_conv(long addr):
+def _cb_object_item_conv(uintptr_t addr):
cdef Elm_Object_Item *it = addr
return _object_item_to_python(it)
@@ -104,9 +105,9 @@
def __init__(self, label = None, icon_file = None,
icon_type = ELM_ICON_NONE, callback = None, cb_data = None,
- *args, **kargs):
+ *args, **kwargs):
"""For more information on what ``icon_file`` and ``icon_type`` are,
- see :py:class:`elementary.icon.Icon`.
+ see :py:class:`~efl.elementary.icon.Icon`.
:param label: The text label to use for the item (None if not desired)
:type label: string
@@ -133,7 +134,7 @@
self.cb_func = callback
self.cb_data = cb_data
self.args = args
- self.kwargs = kargs
+ self.kwargs = kwargs
def add_to(self, Hoversel hoversel):
"""add_to(Hoversel hoversel)
@@ -147,7 +148,7 @@
use :py:attr:`HoverselItem.icon` right after this function.
:return: The item added.
- :rtype: Elm_Object_Item
+ :rtype: HoverselItem
"""
cdef Evas_Smart_Cb cb = NULL
@@ -160,13 +161,12 @@
self.icon_type,
cb, self)
- if item != NULL:
- self._set_obj(item)
- self._set_properties_from_keyword_args(self.kwargs)
- return self
- else:
- # FIXME: raise RuntimeError?
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
property icon:
"""This sets the icon for the given hoversel item.
@@ -317,7 +317,7 @@
.. warning:: Should **not** be called while the hoversel is active;
use :py:attr:`expanded` to check first.
- .. seealso:: :py:func:`HoverselItem.delete()`
+ .. seealso:: :py:meth:`~efl.elementary.object_item.ObjectItem.delete`
"""
elm_hoversel_clear(self.obj)
@@ -325,9 +325,9 @@
property items:
"""Get the list of items within the given hoversel.
- .. seealso:: :py:func:`HoverselItem.add()`
+ .. seealso:: :py:func:`HoverselItem.add_to()`
- :type: tuple of Elm_Object_Items
+ :type: tuple of :py:class:`HoverselItem`'s
"""
def __get__(self):
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/icon.pyx python-efl-1.8.2~201401231220/efl/elementary/icon.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/icon.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/icon.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -46,55 +46,55 @@
These are names for icons that were first intended to be used in
toolbars, but can be used in many other places too:
-- ``"home"``
-- ``"close"``
-- ``"apps"``
-- ``"arrow_up"``
-- ``"arrow_down"``
-- ``"arrow_left"``
-- ``"arrow_right"``
-- ``"chat"``
-- ``"clock"``
-- ``"delete"``
-- ``"edit"``
-- ``"refresh"``
-- ``"folder"``
-- ``"file"``
+- ``home``
+- ``close``
+- ``apps``
+- ``arrow_up``
+- ``arrow_down``
+- ``arrow_left``
+- ``arrow_right``
+- ``chat``
+- ``clock``
+- ``delete``
+- ``edit``
+- ``refresh``
+- ``folder``
+- ``file``
These are names for icons that were designed to be used in menus
(but again, you can use them anywhere else):
-- ``"menu/home"``
-- ``"menu/close"``
-- ``"menu/apps"``
-- ``"menu/arrow_up"``
-- ``"menu/arrow_down"``
-- ``"menu/arrow_left"``
-- ``"menu/arrow_right"``
-- ``"menu/chat"``
-- ``"menu/clock"``
-- ``"menu/delete"``
-- ``"menu/edit"``
-- ``"menu/refresh"``
-- ``"menu/folder"``
-- ``"menu/file"``
+- ``menu/home``
+- ``menu/close``
+- ``menu/apps``
+- ``menu/arrow_up``
+- ``menu/arrow_down``
+- ``menu/arrow_left``
+- ``menu/arrow_right``
+- ``menu/chat``
+- ``menu/clock``
+- ``menu/delete``
+- ``menu/edit``
+- ``menu/refresh``
+- ``menu/folder``
+- ``menu/file``
And these are names for some media player specific icons:
-- ``"media_player/forward"``
-- ``"media_player/info"``
-- ``"media_player/next"``
-- ``"media_player/pause"``
-- ``"media_player/play"``
-- ``"media_player/prev"``
-- ``"media_player/rewind"``
-- ``"media_player/stop"``
+- ``media_player/forward``
+- ``media_player/info``
+- ``media_player/next``
+- ``media_player/pause``
+- ``media_player/play``
+- ``media_player/prev``
+- ``media_player/rewind``
+- ``media_player/stop``
This widget emits the following signals, besides the ones sent from
:py:class:`~efl.elementary.image.Image`:
-- ``"thumb,done"`` - Setting :py:attr:`thumb` has completed with success
-- ``"thumb,error"`` - Setting :py:attr:`thumb` has failed
+- ``thumb,done`` - Setting :py:attr:`~Icon.thumb` has completed with success
+- ``thumb,error`` - Setting :py:attr:`~Icon.thumb` has failed
Enumerations
@@ -170,14 +170,12 @@
"""Set the file (and edje group) that will be used, but use a
generated thumbnail.
- This functions like :py:attr:`elementary.image.Image.file` but
+ This functions like :py:attr:`~efl.elementary.image.Image.file` but
requires the Ethumb library support to be enabled successfully with
:py:func:`efl.elementary.need.need_ethumb`. When set the file indicated
has a thumbnail generated and cached on disk for future use or will
directly use an existing cached thumbnail if it is valid.
- .. seealso:: :py:attr:`~efl.elementary.image.Image.file`
-
:type: string ``file`` or tuple(string ``file``, string ``group``)
"""
@@ -225,6 +223,10 @@
:return bool: For 1.7 compatibility standard_set() returns a bool value
that tells whether setting the standard name was succesful or not.
+ .. versionchanged:: 1.8
+ Raises RuntimeWarning when setting the standard name fails,
+ instead of returning a bool.
+
"""
def __get__(self):
return _ctouni(elm_icon_standard_get(self.obj))
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/image.pyx python-efl-1.8.2~201401231220/efl/elementary/image.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/image.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/image.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -39,18 +39,18 @@
- aspect ratio during resizes, etc.
An image object may also be made valid source and destination for drag
-and drop actions by setting :py:attr:`editable`.
+and drop actions by setting :py:attr:`~Image.editable`.
Signals that you can add callbacks for are:
-- ``"drop"`` - This is called when a user has dropped an image
- typed object onto the object in question -- the
- event info argument is the path to that image file
-- ``"clicked"`` - This is called when a user has clicked the image
-- ``"download,start"`` - remote url download has started
-- ``"download,progress"`` - url download in progress
-- ``"download,end"`` - remote url download has finished
-- ``"download,error"`` - remote url download has finished with errors
+- ``drop`` - This is called when a user has dropped an image
+ typed object onto the object in question -- the
+ event info argument is the path to that image file
+- ``clicked`` - This is called when a user has clicked the image
+- ``download,start`` - remote url download has started
+- ``download,progress`` - url download in progress
+- ``download,end`` - remote url download has finished
+- ``download,error`` - remote url download has finished with errors
Enumerations
------------
@@ -95,6 +95,7 @@
"""
from cpython cimport PyUnicode_AsUTF8String
+from libc.stdint cimport uintptr_t
from efl.eo cimport _object_mapping_register, object_from_instance
from efl.utils.conversions cimport _ctouni
@@ -111,7 +112,7 @@
ELM_IMAGE_FLIP_TRANSPOSE = enums.ELM_IMAGE_FLIP_TRANSPOSE
ELM_IMAGE_FLIP_TRANSVERSE = enums.ELM_IMAGE_FLIP_TRANSVERSE
-def _cb_string_conv(long addr):
+def _cb_string_conv(uintptr_t addr):
cdef const_char *s = addr
return _ctouni(s) if s is not NULL else None
@@ -124,12 +125,14 @@
:var now: The amount of data received so far.
:var total: The total amount of data to download.
+ .. versionadded:: 1.8
+
"""
def __init__(self):
self.now = 0
self.total = 0
-def _image_download_progress_conv(long addr):
+def _image_download_progress_conv(uintptr_t addr):
cdef Elm_Image_Progress *ip = addr
ipi = ImageProgressInfo()
ipi.now = ip.now
@@ -143,14 +146,16 @@
by Image when fail to download remote urls.
:var status: The http error code (such as 401)
- :var open_error: TODOC
+ :var open_error: TODO
+
+ .. versionadded:: 1.8
"""
def __init__(self):
self.status = 0
self.open_error = False
-def _image_download_error_conv(long addr):
+def _image_download_error_conv(uintptr_t addr):
cdef Elm_Image_Error *ie = addr
iei = ImageErrorInfo()
iei.status = ie.status
@@ -182,6 +187,10 @@
:type: unicode **file** or (unicode **file**, unicode **group**)
:raise RuntimeError: when setting the file fails
+ .. versionchanged:: 1.8
+ Raises RuntimeError when setting the file fails, instead of
+ returning a bool.
+
"""
def __set__(self, value):
if isinstance(value, tuple):
@@ -542,28 +551,44 @@
self._callback_del_full("drop", _cb_string_conv, func)
def callback_download_start_add(self, func, *args, **kwargs):
- """This is called when you set a remote url and the download start"""
+ """This is called when you set a remote url and the download start
+
+ .. versionadded:: 1.8
+
+ """
self._callback_add("download,start", func, *args, **kwargs)
def callback_download_start_del(self, func):
self._callback_del("download,start", func)
def callback_download_progress_add(self, func, *args, **kwargs):
- """This is called while a remote image download is in progress"""
+ """This is called while a remote image download is in progress
+
+ .. versionadded:: 1.8
+
+ """
self._callback_add_full("download,progress", _image_download_progress_conv, func, *args, **kwargs)
def callback_download_progress_del(self, func):
self._callback_del_full("download,progress", _image_download_progress_conv, func)
def callback_download_done_add(self, func, *args, **kwargs):
- """This is called when you set a remote url and the download finish"""
+ """This is called when you set a remote url and the download finish
+
+ .. versionadded:: 1.8
+
+ """
self._callback_add("download,done", func, *args, **kwargs)
def callback_download_done_del(self, func):
self._callback_del("download,end", func)
def callback_download_error_add(self, func, *args, **kwargs):
- """This is called in case a download has errors"""
+ """This is called in case a download has errors
+
+ .. versionadded:: 1.8
+
+ """
self._callback_add_full("download,error", _image_download_error_conv, func, *args, **kwargs)
def callback_download_error_del(self, func):
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/index.pyx python-efl-1.8.2~201401231220/efl/elementary/index.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/index.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/index.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -34,42 +34,43 @@
default theme, it's an area one ``finger`` wide on
the right side of the index widget's container.
-When items on the index are selected, smart callbacks get
-called, so that its user can make other container objects to
-show a given area or child object depending on the index item
-selected. You'd probably be using an index together with :py:class:`List`,
-:py:class:`Genlist` or :py:class:`Gengrid`.
+When items on the index are selected, smart callbacks get called, so that its
+user can make other container objects to show a given area or child object
+depending on the index item selected. You'd probably be using an index together
+with :py:class:`~efl.elementary.list.List`,
+:py:class:`~efl.elementary.genlist.Genlist` or
+:py:class:`~efl.elementary.gengrid.Gengrid`.
This widget emits the following signals, besides the ones sent from
-:py:class:`elementary.layout.Layout`:
+:py:class:`~efl.elementary.layout_class.LayoutClass`:
-- ``"changed"`` - When the selected index item changes. ``event_info``
- is the selected item's data pointer.
-- ``"delay,changed"`` - When the selected index item changes, but
+- ``changed`` - When the selected index item changes. ``event_info``
+ is the selected item's data.
+- ``delay,changed`` - When the selected index item changes, but
after a small idling period. ``event_info`` is the selected
- item's data pointer.
-- ``"selected"`` - When the user releases a mouse button and
- selects an item. ``event_info`` is the selected item's data
- pointer.
-- ``"level,up"`` - when the user moves a finger from the first
+ item's data.
+- ``selected`` - When the user releases a mouse button and
+ selects an item. ``event_info`` is the selected item's data.
+- ``level,up`` - when the user moves a finger from the first
level to the second level
-- ``"level,down"`` - when the user moves a finger from the second
+- ``level,down`` - when the user moves a finger from the second
level to the first level
-- ``"language,changed"`` - the program's language changed
+- ``language,changed`` - the program's language changed
- ``focused`` - When the index has received focus. (since 1.8)
- ``unfocused`` - When the index has lost focus. (since 1.8)
-The ``"delay,changed"`` event is so that it'll wait a small time
-before actually reporting those events and, moreover, just the
-last event happening on those time frames will actually be
-reported.
+The ``delay,changed`` event has a delay on change before the event is actually
+reported and moreover just the last event happening on those time frames will
+actually be reported.
"""
from cpython cimport PyUnicode_AsUTF8String, Py_DECREF
+from libc.stdint cimport uintptr_t
from efl.eo cimport _object_mapping_register
from efl.utils.conversions cimport _ctouni
+from efl.utils.deprecated cimport DEPRECATED
from efl.evas cimport Object as evasObject
from layout_class cimport LayoutClass
from object_item cimport _object_item_callback, _object_item_to_python, \
@@ -77,7 +78,7 @@
import traceback
-def _cb_object_item_conv(long addr):
+def _cb_object_item_conv(uintptr_t addr):
cdef Elm_Object_Item *it = addr
return _object_item_to_python(it)
@@ -186,13 +187,12 @@
self.letter if self.letter is not None else NULL,
cb, self)
- if item != NULL:
- self._set_obj(item)
- self._set_properties_from_keyword_args(self.kwargs)
- return self
- else:
- # FIXME: raise RuntimeError?
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
def prepend_to(self, Index index not None):
"""
@@ -212,13 +212,12 @@
self.letter if self.letter is not None else NULL,
cb, self)
- if item != NULL:
- self._set_obj(item)
- self._set_properties_from_keyword_args(self.kwargs)
- return self
- else:
- # FIXME: raise RuntimeError?
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
def insert_after(self, IndexItem after not None):
"""
@@ -239,13 +238,12 @@
self.letter if self.letter is not None else NULL,
cb, self)
- if item != NULL:
- self._set_obj(item)
- self._set_properties_from_keyword_args(self.kwargs)
- return self
- else:
- # FIXME: raise RuntimeError?
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
def insert_before(self, IndexItem before not None):
"""
@@ -266,13 +264,12 @@
self.letter if self.letter is not None else NULL,
cb, self)
- if item != NULL:
- self._set_obj(item)
- self._set_properties_from_keyword_args(self.kwargs)
- return self
- else:
- # FIXME: raise RuntimeError?
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
def insert_sorted(self, Index index not None, compare_func, data_compare_func = None):
"""
@@ -287,7 +284,7 @@
data item should be pointed to by the index item in question,
``cmp_data_func`` will be used. If ``cmp_data_func`` returns a
non-negative value, the previous index item data will be
- replaced by the given ``item`` pointer. If the previous data need
+ replaced by the given ``item``. If the previous data need
to be freed, it should be done by the ``cmp_data_func``
function, because all references to it will be lost. If this
function is not provided (``None`` is given), index items will
@@ -307,13 +304,12 @@
cb, self,
_index_compare_func, _index_data_compare_func)
- if item != NULL:
- self._set_obj(item)
- self._set_properties_from_keyword_args(self.kwargs)
- return self
- else:
- # FIXME: raise RuntimeError?
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
property selected:
"""Set the selected state of an item.
@@ -350,11 +346,6 @@
def letter_get(self):
return _ctouni(elm_index_item_letter_get(self.item))
-cdef Elm_Object_Item *_elm_index_item_from_python(IndexItem item):
- if item is None:
- return NULL
- else:
- return item.item
cdef class Index(LayoutClass):
@@ -453,18 +444,20 @@
"""
return IndexItem(letter, callback, *args, **kargs).insert_before(before)
- #def item_sorted_insert(self, letter, callback = None, *args, **kargs):
- """Insert a new item into the given index widget, using ``cmp_func``
- function to sort items (by item handles).
+ # TODO:
+ # def item_sorted_insert(self, letter, callback = None, *args, **kargs):
+ # """Insert a new item into the given index widget, using ``cmp_func``
+ # function to sort items (by item handles).
- A constructor for :py:class:`IndexItem`
+ # A constructor for :py:class:`IndexItem`
- :see: :py:func:`IndexItem.insert_sorted`
+ # :see: :py:func:`IndexItem.insert_sorted`
- """
- #return IndexItem(ELM_INDEX_ITEM_INSERT_SORTED, self, letter,
- #None, callback, *args, **kargs)
+ # """
+ # return IndexItem(ELM_INDEX_ITEM_INSERT_SORTED, self, letter,
+ # None, callback, *args, **kargs)
+ @DEPRECATED("1.8", "Broken, don't use.")
def item_find(self, data):
"""item_find(data) -> IndexItem
@@ -484,8 +477,9 @@
Removes **all** items from a given index widget.
- If deletion callbacks are set, via :py:func:`delete_cb_set()`,
- that callback function will be called for each item.
+ If deletion callbacks are set, via
+ :py:meth:`efl.elementary.object_item.ObjectItem.delete_cb_set`, that
+ callback function will be called for each item.
"""
elm_index_item_clear(self.obj)
@@ -550,6 +544,8 @@
.. note:: Delay time is 0.2 sec by default.
+ .. versionadded:: 1.8
+
"""
def __set__(self, double delay_change_time):
elm_index_delay_change_time_set(self.obj, delay_change_time)
@@ -568,6 +564,8 @@
:type: bool
+ .. versionadded:: 1.8
+
"""
def __set__(self, bint enabled):
elm_index_omit_enabled_set(self.obj, enabled)
@@ -631,7 +629,7 @@
def callback_focused_add(self, func, *args, **kwargs):
"""When the index has received focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("focused", func, *args, **kwargs)
@@ -641,7 +639,7 @@
def callback_unfocused_add(self, func, *args, **kwargs):
"""When the index has lost focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("unfocused", func, *args, **kwargs)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/innerwindow.pyx python-efl-1.8.2~201401231220/efl/elementary/innerwindow.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/innerwindow.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/innerwindow.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -34,13 +34,14 @@
visibility again.
There are three styles available in the default theme. These are:
- - default: The inwin is sized to take over most of the window it's
- placed in.
- - minimal: The size of the inwin will be the minimum necessary to show
- its contents.
- - minimal_vertical: Horizontally, the inwin takes as much space as
- possible, but it's sized vertically the most it needs to fit its
- contents.
+
+- default: The inwin is sized to take over most of the window it's
+ placed in.
+- minimal: The size of the inwin will be the minimum necessary to show
+ its contents.
+- minimal_vertical: Horizontally, the inwin takes as much space as
+ possible, but it's sized vertically the most it needs to fit its
+ contents.
"""
@@ -62,9 +63,10 @@
Activates an inwin object, ensuring its visibility
- This function will make sure that the inwin is completely visible
- by calling :py:func:`show()` and :py:func:`raise_()` on it, to bring it
- to the front. It also sets the keyboard focus to it, which will be passed
+ This function will make sure that the inwin is completely visible by
+ calling :py:meth:`~efl.evas.Object.show` and
+ :py:meth:`~efl.evas.Object.raise_` on it, to bring it to
+ the front. It also sets the keyboard focus to it, which will be passed
onto its content.
The object's theme will also receive the signal "elm,action,show" with
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/label.pxd python-efl-1.8.2~201401231220/efl/elementary/label.pxd
--- python-efl-1.17.99~201312040125/efl/elementary/label.pxd 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/label.pxd 2014-01-18 12:24:01.000000000 +0000
@@ -11,7 +11,7 @@
Eina_Bool elm_label_ellipsis_get(Evas_Object *obj)
void elm_label_slide_duration_set(Evas_Object *obj, double duration)
double elm_label_slide_duration_get(Evas_Object *obj)
- void elm_label_slide_area_limit_set(Evas_Object *obj, Eina_Bool limit)
+# TODO: void elm_label_slide_area_limit_set(Evas_Object *obj, Eina_Bool limit)
void elm_label_slide_mode_set(Evas_Object *obj, Elm_Label_Slide_Mode mode)
Elm_Label_Slide_Mode elm_label_slide_mode_get(const_Evas_Object *obj)
void elm_label_slide_go(Evas_Object *obj)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/label.pyx python-efl-1.8.2~201401231220/efl/elementary/label.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/label.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/label.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -32,20 +32,20 @@
- default - No animation
- marker - Centers the text in the label and makes it bold by default
- slide_long - The entire text appears from the right of the screen and
- slides until it disappears in the left of the screen(reappearing on
- the right again).
+ slides until it disappears in the left of the screen(reappearing on
+ the right again).
- slide_short - The text appears in the left of the label and slides to
- the right to show the overflow. When all of the text has been shown
- the position is reset.
+ the right to show the overflow. When all of the text has been shown
+ the position is reset.
- slide_bounce - The text appears in the left of the label and slides to
- the right to show the overflow. When all of the text has been shown
- the animation reverses, moving the text to the left.
+ the right to show the overflow. When all of the text has been shown
+ the animation reverses, moving the text to the left.
Custom themes can of course invent new markup tags and style them any way
they like.
This widget emits the following signals, besides the ones sent from
-:py:class:`elementary.layout.Layout`:
+:py:class:`~efl.elementary.layout_class.LayoutClass`:
- ``language,changed`` - The program's language changed.
- ``slide,end`` - The slide is end.
@@ -201,10 +201,12 @@
@DEPRECATED("1.8", "Use :py:attr:`slide_mode` instead.")
def slide_set(self, bint slide):
+ """slide_set(bool slide)"""
elm_label_slide_mode_set(self.obj,
ELM_LABEL_SLIDE_MODE_ALWAYS if slide else ELM_LABEL_SLIDE_MODE_NONE)
@DEPRECATED("1.8", "Use :py:attr:`slide_mode` instead.")
def slide_get(self):
+ """slide_get() -> bool"""
return bool(elm_label_slide_mode_get(self.obj))
property slide_duration:
@@ -225,20 +227,19 @@
def slide_duration_get(self):
return elm_label_slide_duration_get(self.obj)
- # TODO: In header but not implemented yet?
+ # TODO: What the heck does this do?
# property slide_area_limit:
# """
# Slide only if the
# :type: bool
+ # .. versionadded:: 1.8
+
# """
- # def __set__(self, bint value):
+ # def __set__(self, bint limit):
# elm_label_slide_area_limit_set(self.obj, limit)
- # def __get__(self):
- # return elm_label_slide_area_limit_set(self.obj)
-
property slide_mode:
"""Change the slide mode of the label widget.
@@ -246,6 +247,8 @@
:type: :ref:`Elm_Label_Slide_Mode`
+ .. versionadded:: 1.8
+
"""
def __get__(self):
return elm_label_slide_mode_get(self.obj)
@@ -259,7 +262,13 @@
return elm_label_slide_mode_get(self.obj)
def slide_go(self):
- """Start the slide effect."""
+ """slide_go()
+
+ Start the slide effect.
+
+ .. versionadded:: 1.8
+
+ """
elm_label_slide_go(self.obj)
def callback_language_changed_add(self, func, *args, **kwargs):
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/layout.pyx python-efl-1.8.2~201401231220/efl/elementary/layout.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/layout.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/layout.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -68,10 +68,10 @@
Box (BOX part)
An Edje ``BOX`` part is very similar to the Elementary
- :py:class:`elementary.box.Box` widget. It allows one to add objects to the
- box and have them distributed along its area, accordingly to the specified
- ``layout`` property (now by ``layout`` we mean the chosen layouting design
- of the Box, not the Layout widget itself).
+ :py:class:`~efl.elementary.box.Box` widget. It allows one to add objects to
+ the box and have them distributed along its area, accordingly to the
+ specified ``layout`` property (now by ``layout`` we mean the chosen
+ layouting design of the Box, not the Layout widget itself).
A similar effect for having a box with its position, size and other things
controlled by the Layout theme would be to create an Elementary
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/layout_class.pxd python-efl-1.8.2~201401231220/efl/elementary/layout_class.pxd
--- python-efl-1.17.99~201312040125/efl/elementary/layout_class.pxd 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/layout_class.pxd 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/layout_class.pyx python-efl-1.8.2~201401231220/efl/elementary/layout_class.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/layout_class.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/layout_class.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -45,10 +45,10 @@
with some more logic on top.
The idea is to make the creation of that widgets as easy as possible,
- factorizing code on this common base. For example, a button is a
- layout (that looks like push button) that happens to react on
- clicks and keyboard events in a special manner, calling its user
- back on those events. That's no surprise, then, that the :py:class:`Button`
+ factorizing code on this common base. For example, a button is a layout
+ (that looks like push button) that happens to react on clicks and keyboard
+ events in a special manner, calling its user back on those events. That's no
+ surprise, then, that the :py:class:`efl.elementary.button.Button`
implementation relies on LayoutClass, if you go to check it.
Container parts, here, map directly to Edje parts from the layout's Edje
@@ -64,6 +64,7 @@
Elm_Layout_Part_Alias_Description, where it's explained in detail.
"""
+
def content_set(self, swallow=None, evasObject content=None):
"""content_set(unicode swallow, Object content)
@@ -83,17 +84,18 @@
:param content: The child that will be added in this layout object
:type content: :py:class:`~efl.evas.Object`
- :return: ``True`` on success, ``False`` otherwise
- :rtype: bool
+ .. versionchanged:: 1.8
+ Raises RuntimeError if setting the content fails.
"""
if content is None:
content = swallow
swallow = None
if isinstance(swallow, unicode): swallow = PyUnicode_AsUTF8String(swallow)
- elm_layout_content_set(self.obj,
+ if not elm_layout_content_set(self.obj,
swallow if swallow is not None else NULL,
- content.obj if content is not None else NULL)
+ content.obj if content is not None else NULL):
+ raise RuntimeError
def content_get(self, swallow=None):
"""content_get(unicode swallow) -> Object
@@ -136,7 +138,9 @@
:type part: string
:param text: The text to set
:type text: string
- :return: ``True`` on success, ``False`` otherwise
+
+ .. versionchanged:: 1.8
+ Raises RuntimeError if setting the text fails
"""
if isinstance(part, unicode): part = PyUnicode_AsUTF8String(part)
@@ -146,9 +150,10 @@
# as text
text = part
part = None
- elm_layout_text_set(self.obj,
+ if not elm_layout_text_set(self.obj,
part if part is not None else NULL,
- text if text is not None else NULL)
+ text if text is not None else NULL):
+ raise RuntimeError
def text_get(self, part=None):
"""text_get(unicode part) -> unicode
@@ -174,6 +179,9 @@
:type: tuple of string
:raise RuntimeError: when setting the file fails
+ .. versionchanged:: 1.8
+ Raises RuntimeError if setting the file fails
+
"""
def __set__(self, value):
filename, group = value
@@ -202,6 +210,8 @@
:see: :py:func:`thaw`
+ .. versionadded:: 1.8
+
"""
return elm_layout_freeze(self.obj)
@@ -218,6 +228,8 @@
:see: :py:func:`freeze`
+ .. versionadded:: 1.8
+
"""
return elm_layout_thaw(self.obj)
@@ -226,11 +238,14 @@
theme that will be used as layout.
Note that ``style`` will be the new style too, as in setting
- :py:attr:`style`.
+ :py:attr:`~efl.elementary.object.Object.style`.
:type: tuple of strings
:raise RuntimeError: when setting the theme fails
+ .. versionchanged:: 1.8
+ Raises RuntimeError if setting the theme fails
+
"""
def __set__(self, theme):
clas, group, style = theme
@@ -314,7 +329,7 @@
emitted by the undelying Edje object, with parameters *emission*,
``source`` and ``func`` matching exactly those passed to a previous
call to :py:meth:`~efl.elementary.object.Object.signal_callback_add`.
- The data pointer that was passed to this call will be returned.
+ The data that was passed to this call will be returned.
:param emission: The signal's name string
:type emission: string
@@ -376,7 +391,10 @@
:param child: the child object to append to box.
:type child: :py:class:`~efl.evas.Object`
- :raise RuntimeError: when adding the box fails
+ :raise RuntimeError: when adding the child fails
+
+ .. versionchanged:: 1.8
+ Raises RuntimeError if adding the child fails
"""
if isinstance(part, unicode): part = PyUnicode_AsUTF8String(part)
@@ -408,6 +426,9 @@
:raise RuntimeError: when adding to box fails
+ .. versionchanged:: 1.8
+ Raises RuntimeError if adding the child fails
+
"""
if isinstance(part, unicode): part = PyUnicode_AsUTF8String(part)
if not elm_layout_box_prepend(self.obj,
@@ -440,6 +461,9 @@
:raise RuntimeError: when inserting to box fails
+ .. versionchanged:: 1.8
+ Raises RuntimeError if adding the child fails
+
"""
if isinstance(part, unicode): part = PyUnicode_AsUTF8String(part)
if not elm_layout_box_insert_before(self.obj,
@@ -472,6 +496,9 @@
:raise RuntimeError: when inserting to box fails
+ .. versionchanged:: 1.8
+ Raises RuntimeError if adding the child fails
+
"""
if isinstance(part, unicode): part = PyUnicode_AsUTF8String(part)
if not elm_layout_box_insert_at(self.obj,
@@ -528,6 +555,9 @@
:raise RuntimeError: when removing all items fails
+ .. versionchanged:: 1.8
+ Raises RuntimeError if removing the children fails
+
"""
if isinstance(part, unicode): part = PyUnicode_AsUTF8String(part)
if not elm_layout_box_remove_all(self.obj,
@@ -543,7 +573,7 @@
Once the object is inserted, it will become child of the table. Its
lifetime will be bound to the layout, and whenever the layout dies the
child will be deleted automatically. One should use
- :py:meth:`table_remove` to make this layout forget about the object.
+ :py:meth:`table_unpack` to make this layout forget about the object.
If ``colspan`` or ``rowspan`` are bigger than 1, that object will occupy
more space than a single cell.
@@ -555,7 +585,7 @@
:param part: the box part to pack child.
:type part: string
:param child_obj: the child object to pack into table.
- :type child_obj: :py:class:`efl.evas.Object`
+ :type child_obj: :py:class:`~efl.evas.Object`
:param col: the column to which the child should be added. (>= 0)
:type col: int
:param row: the row to which the child should be added. (>= 0)
@@ -568,6 +598,9 @@
:raise RuntimeError: when packing an item fails
+ .. versionchanged:: 1.8
+ Raises RuntimeError if adding the child fails
+
"""
if isinstance(part, unicode): part = PyUnicode_AsUTF8String(part)
if not elm_layout_table_pack(self.obj,
@@ -624,6 +657,9 @@
:raise RuntimeError: when clearing the table fails
+ .. versionchanged:: 1.8
+ Raises RuntimeError if clearing the table fails
+
"""
if isinstance(part, unicode): part = PyUnicode_AsUTF8String(part)
if not elm_layout_table_clear(self.obj,
@@ -729,6 +765,9 @@
:raise RuntimeError: when setting the parts cursor fails
+ .. versionchanged:: 1.8
+ Raises RuntimeError if setting the cursor fails
+
"""
if isinstance(part_name, unicode): part_name = PyUnicode_AsUTF8String(part_name)
if isinstance(cursor, unicode): cursor = PyUnicode_AsUTF8String(cursor)
@@ -763,6 +802,9 @@
:raise RuntimeError: when unsetting the part cursor fails
+ .. versionchanged:: 1.8
+ Raises RuntimeError if unsetting the cursor fails
+
"""
if isinstance(part_name, unicode): part_name = PyUnicode_AsUTF8String(part_name)
if not elm_layout_part_cursor_unset(self.obj,
@@ -781,6 +823,9 @@
:raise RuntimeError: when setting the part cursor style fails
+ .. versionchanged:: 1.8
+ Raises RuntimeError if setting the cursor style fails
+
"""
if isinstance(part_name, unicode): part_name = PyUnicode_AsUTF8String(part_name)
if isinstance(style, unicode): style = PyUnicode_AsUTF8String(style)
@@ -829,6 +874,9 @@
:raise RuntimeError: when setting the engine_only setting fails,
when part does not exist or has no cursor set.
+ .. versionchanged:: 1.8
+ Raises RuntimeError if setting the value fails
+
"""
if isinstance(part_name, unicode): part_name = PyUnicode_AsUTF8String(part_name)
if not elm_layout_part_cursor_engine_only_set(self.obj,
@@ -860,6 +908,8 @@
:raise RuntimeError: if accessibility cannot be set.
+ .. versionadded:: 1.8
+
"""
def __set__(self, can_access):
if not elm_layout_edje_object_can_access_set(self.obj, can_access):
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/list.pyx python-efl-1.8.2~201401231220/efl/elementary/list.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/list.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/list.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -29,7 +29,7 @@
modes of items displaying.
A list is a very simple type of list widget. For more robust
-lists, :py:class:`genlist.Genlist` should probably be used.
+lists, :py:class:`~efl.elementary.genlist.Genlist` should probably be used.
Smart callbacks one can listen to:
@@ -59,16 +59,16 @@
Available styles for it:
-- ``"default"``
+- ``default``
Default content parts of the list items that you can use for are:
-- "start" - A start position object in the list item
-- "end" - A end position object in the list item
+- ``start`` - A start position object in the list item
+- ``end`` - A end position object in the list item
Default text parts of the list items that you can use for are:
-- "default" - label in the list item
+- ``default`` - label in the list item
Scrollable Interface
====================
@@ -77,7 +77,7 @@
If you wish to control the scolling behaviour using these functions,
inherit both the widget class and the
-:py:class:`Scrollable` class
+:py:class:`~efl.elementary.scroller.Scrollable` class
using multiple inheritance, for example::
class ScrollableGenlist(Genlist, Scrollable):
@@ -159,6 +159,7 @@
"""
from cpython cimport PyUnicode_AsUTF8String, Py_DECREF
+from libc.stdint cimport uintptr_t
from efl.eo cimport _object_mapping_register, object_from_instance, PY_REFCOUNT
from efl.utils.conversions cimport _ctouni
@@ -188,7 +189,7 @@
ELM_SCROLLER_POLICY_ON = enums.ELM_SCROLLER_POLICY_ON
ELM_SCROLLER_POLICY_OFF = enums.ELM_SCROLLER_POLICY_OFF
-def _cb_object_item_conv(long addr):
+def _cb_object_item_conv(uintptr_t addr):
cdef Elm_Object_Item *it = addr
return _object_item_to_python(it)
@@ -205,11 +206,12 @@
:param string label: The label of the list item.
:param icon: The icon object to use for the left side of the item. An
- icon can be any Evas object, but usually it is an :py:class:`Icon`.
- :type icon: :py:class:`evas.object.Object`
+ icon can be any Evas object, but usually it is an
+ :py:class:`~efl.elementary.icon.Icon`.
+ :type icon: :py:class:`~efl.evas.Object`
:param end: The icon object to use for the right side of the item. An
- icon can be any Evas object.
- :type end: :py:class:`evas.object.Object`
+ icon can be any Evas object.
+ :type end: :py:class:`~efl.evas.Object`
:param callable callback: The function to call when the item is clicked.
:param cb_data: An object associated with the callback.
@@ -237,9 +239,9 @@
"callback=%r, cb_data=%r, "
"args=%r, kargs=%r)>") % (
type(self).__name__,
- self,
+ self,
PY_REFCOUNT(self),
- self.item,
+ self.item,
self.text,
getattr(self.part_content_get("icon"), "file", None),
getattr(self.part_content_get("end"), "file", None),
@@ -255,7 +257,7 @@
be set as **last** item.
Items created with this method can be deleted with
- :py:func:`elementary.object_item.ObjectItem.delete()`.
+ :py:meth:`~efl.elementary.object_item.ObjectItem.delete`.
If a function is passed as argument, it will be called every time this item
is selected, i.e., the user clicks over an unselected item.
@@ -274,9 +276,9 @@
.. seealso::
:py:attr:`List.select_mode`
- :py:func:`efl.elementary.object_item.ObjectItem.delete()`
+ :py:meth:`~efl.elementary.object_item.ObjectItem.delete`
:py:func:`List.clear()`
- :py:class:`Icon `
+ :py:class:`~efl.elementary.icon.Icon`
:return: The created item or ``None`` upon failure.
:rtype: :py:class:`ListItem`
@@ -292,13 +294,12 @@
self.icon_obj, self.end_obj,
cb, self)
- if item != NULL:
- self._set_obj(item)
- self._set_properties_from_keyword_args(self.kwargs)
- return self
- else:
- # FIXME: raise RuntimeError?
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
def prepend_to(self, List list):
"""prepend_to(List list)
@@ -306,11 +307,11 @@
Prepend a new item to the list object.
.. seealso::
- :py:func:`append_to()`
+ :py:meth:`append_to`
:py:attr:`List.select_mode`
- :py:func:`efl.elementary.object_item.ObjectItem.delete()`
- :py:func:`List.clear()`
- :py:class:`Icon `
+ :py:meth:`efl.elementary.object_item.ObjectItem.delete`
+ :py:meth:`List.clear`
+ :py:class:`~efl.elementary.icon.Icon`
:param list: The list
:type list: List
@@ -329,13 +330,12 @@
self.icon_obj, self.end_obj,
cb, self)
- if item != NULL:
- self._set_obj(item)
- self._set_properties_from_keyword_args(self.kwargs)
- return self
- else:
- # FIXME: raise RuntimeError?
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
def insert_before(self, ListItem before):
"""insert_before(ListItem before)
@@ -343,11 +343,11 @@
Insert a new item into the list object before item *before*.
.. seealso::
- :py:func:`append_to()`
+ :py:meth:`append_to`
:py:attr:`List.select_mode`
- :py:func:`efl.elementary.object_item.ObjectItem.delete()`
- :py:func:`List.clear()`
- :py:class:`Icon `
+ :py:meth:`efl.elementary.object_item.ObjectItem.delete`
+ :py:meth:`List.clear`
+ :py:class:`~efl.elementary.icon.Icon`
:param before: The list item to insert before.
:type before: :py:class:`ListItem`
@@ -368,13 +368,12 @@
self.icon_obj, self.end_obj,
cb, self)
- if item != NULL:
- self._set_obj(item)
- self._set_properties_from_keyword_args(self.kwargs)
- return self
- else:
- # FIXME: raise RuntimeError?
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
def insert_after(self, ListItem after):
"""insert_after(ListItem after)
@@ -382,11 +381,11 @@
Insert a new item into the list object after item *after*.
.. seealso::
- :py:func:`append_to()`
+ :py:meth:`append_to`
:py:attr:`List.select_mode`
- :py:func:`efl.elementary.object_item.ObjectItem.delete()`
- :py:func:`List.clear()`
- :py:class:`Icon `
+ :py:meth:`efl.elementary.object_item.ObjectItem.delete`
+ :py:meth:`List.clear`
+ :py:class:`~efl.elementary.icon.Icon`
:param after: The list item to insert after.
:type after: :py:class:`ListItem`
@@ -407,13 +406,12 @@
self.icon_obj, self.end_obj,
cb, self)
- if item != NULL:
- self._set_obj(item)
- self._set_properties_from_keyword_args(self.kwargs)
- return self
- else:
- # FIXME: raise RuntimeError?
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
# TODO:
# def sorted_insert_to(self, List list, cmp_func=None):
@@ -516,7 +514,7 @@
Show the item in the list view.
It won't animate list until item is visible. If such behavior is
- wanted, use :py:func:`bring_in()` instead.
+ wanted, use :py:meth:`bring_in` instead.
"""
elm_list_item_show(self.item)
@@ -531,7 +529,7 @@
This may use animation to do so and take a period of time.
- If animation isn't wanted, :py:func:`show()` can be used.
+ If animation isn't wanted, :py:meth:`show` can be used.
"""
elm_list_item_bring_in(self.item)
@@ -544,7 +542,7 @@
behavior (like deleting the base!), but it might be used to
feed Edje signals to add more features to row representation.
- :type: :py:class:`edje.Edje`
+ :type: :py:class:`efl.edje.Edje`
"""
def __get__(self):
@@ -559,7 +557,7 @@
.. note:: If the item is the first item, ``None`` will be returned.
.. seealso::
- :py:func:`append_to()`
+ :py:meth:`append_to`
:py:attr:`List.items`
:type: :py:class:`ListItem`
@@ -615,7 +613,7 @@
li.go()
li.show()
- .. note:: Call before running :py:func:`show() ` on the list object.
+ .. note:: Call before running :py:meth:`~efl.evas.Object.show` on the list object.
.. warning:: If not called, it won't display the list properly.
"""
@@ -835,8 +833,8 @@
Remove all list's items.
.. seealso::
- :py:func:`efl.elementary.object_item.ObjectItem.delete`
- :py:func:`ListItem.append_to`
+ :py:meth:`~efl.elementary.object_item.ObjectItem.delete`
+ :py:meth:`ListItem.append_to`
"""
elm_list_clear(self.obj)
@@ -845,9 +843,9 @@
"""Get a list of all the list items.
.. seealso::
- :py:func:`ListItem.append_to()`
- :py:func:`efl.elementary.object_item.ObjectItem.delete`
- :py:func:`clear()`
+ :py:meth:`ListItem.append_to`
+ :py:meth:`~efl.elementary.object_item.ObjectItem.delete`
+ :py:meth:`clear`
:type: tuple of :py:class:`List items `
@@ -937,6 +935,7 @@
based if the coordinate is above or below all items respectively in
the list.
+ .. versionadded:: 1.8
"""
cdef:
@@ -958,6 +957,8 @@
clicking an unfocusable area in an item or selecting it with a key movement. Clicking on a
focusable widget inside an item will couse this particular item to get focus as usual.
+ .. versionadded:: 1.8
+
"""
def __set__(self, bint enabled):
elm_list_focus_on_selection_set(self.obj, enabled)
@@ -1072,7 +1073,7 @@
def callback_focused_add(self, func, *args, **kwargs):
"""When the list has received focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("focused", func, *args, **kwargs)
@@ -1082,7 +1083,7 @@
def callback_unfocused_add(self, func, *args, **kwargs):
"""When the list has lost focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("unfocused", func, *args, **kwargs)
@@ -1091,6 +1092,12 @@
property scroller_policy:
+ """
+
+ .. deprecated:: 1.8
+ You should combine with Scrollable class instead.
+
+ """
def __get__(self):
return self.scroller_policy_get()
@@ -1109,6 +1116,12 @@
return (policy_h, policy_v)
property bounce:
+ """
+
+ .. deprecated:: 1.8
+ You should combine with Scrollable class instead.
+
+ """
def __get__(self):
return self.bounce_get()
def __set__(self, value):
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/map.pyx python-efl-1.8.2~201401231220/efl/elementary/map.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/map.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/map.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -42,31 +42,31 @@
Signals you can listen to
=========================
-- "clicked" - Called when a user has clicked the map without dragging around.
-- "clicked,double" - Called when a user has double-clicked the map.
-- "press" - This is called when a user has pressed down on the map.
-- "longpressed" - This is called when a user has pressed down on the map
+- ``clicked`` - Called when a user has clicked the map without dragging around.
+- ``clicked,double`` - Called when a user has double-clicked the map.
+- ``press`` - This is called when a user has pressed down on the map.
+- ``longpressed`` - This is called when a user has pressed down on the map
for a long time without dragging around.
-- "scroll" - the content has been scrolled (moved).
-- "scroll,drag,start" - dragging the contents around has started.
-- "scroll,drag,stop" - dragging the contents around has stopped.
-- "scroll,anim,start" - scrolling animation has started.
-- "scroll,anim,stop" - scrolling animation has stopped.
-- "zoom,start" - Zoom animation started.
-- "zoom,stop" - Zoom animation stopped.
-- "zoom,change" - Zoom changed when using an auto zoom mode.
-- "tile,load" - A map tile image load begins.
-- "tile,loaded" - A map tile image load ends.
-- "tile,loaded,fail" - A map tile image load fails.
-- "route,load" - Route request begins.
-- "route,loaded" - Route request ends.
-- "route,loaded,fail" - Route request fails.
-- "name,load" - Name request begins.
-- "name,loaded" - Name request ends.
-- "name,loaded,fail" - Name request fails.
-- "overlay,clicked" - A overlay is clicked.
-- "loaded" - when a map is finally loaded.
-- "language,changed" - the program's language changed
+- ``scroll`` - the content has been scrolled (moved).
+- ``scroll,drag,start`` - dragging the contents around has started.
+- ``scroll,drag,stop`` - dragging the contents around has stopped.
+- ``scroll,anim,start`` - scrolling animation has started.
+- ``scroll,anim,stop`` - scrolling animation has stopped.
+- ``zoom,start`` - Zoom animation started.
+- ``zoom,stop`` - Zoom animation stopped.
+- ``zoom,change`` - Zoom changed when using an auto zoom mode.
+- ``tile,load`` - A map tile image load begins.
+- ``tile,loaded`` - A map tile image load ends.
+- ``tile,loaded,fail`` - A map tile image load fails.
+- ``route,load`` - Route request begins.
+- ``route,loaded`` - Route request ends.
+- ``route,loaded,fail`` - Route request fails.
+- ``name,load`` - Name request begins.
+- ``name,loaded`` - Name request ends.
+- ``name,loaded,fail`` - Name request fails.
+- ``overlay,clicked`` - A overlay is clicked.
+- ``loaded`` - when a map is finally loaded.
+- ``language,changed`` - the program's language changed
- ``focused`` - When the map has received focus. (since 1.8)
- ``unfocused`` - When the map has lost focus. (since 1.8)
@@ -190,7 +190,7 @@
.. data:: ELM_MAP_ZOOM_MODE_MANUAL
- Zoom controlled manually by :py:attr:`zoom_set`
+ Zoom controlled manually by :py:attr:`~Map.zoom`
It's set by default.
@@ -1835,7 +1835,7 @@
def callback_focused_add(self, func, *args, **kwargs):
"""When the map has received focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("focused", func, *args, **kwargs)
@@ -1845,7 +1845,7 @@
def callback_unfocused_add(self, func, *args, **kwargs):
"""When the map has lost focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("unfocused", func, *args, **kwargs)
@@ -1853,6 +1853,12 @@
self._callback_del("unfocused", func)
property scroller_policy:
+ """
+
+ .. deprecated:: 1.8
+ You should combine with Scrollable class instead.
+
+ """
def __get__(self):
return self.scroller_policy_get()
@@ -1871,6 +1877,12 @@
return (policy_h, policy_v)
property bounce:
+ """
+
+ .. deprecated:: 1.8
+ You should combine with Scrollable class instead.
+
+ """
def __get__(self):
return self.bounce_get()
def __set__(self, value):
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/mapbuf.pyx python-efl-1.8.2~201401231220/efl/elementary/mapbuf.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/mapbuf.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/mapbuf.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -30,6 +30,10 @@
need to resize or move it frequently (the content object and its
children).
+Default content parts of the mapbuf widget that you can use are:
+
+- ``default`` - The main content of the mapbuf
+
"""
from efl.eo cimport _object_mapping_register
@@ -114,6 +118,8 @@
:type: bool
+ .. versionadded:: 1.8
+
"""
def __set__(self, bint on):
elm_mapbuf_auto_set(self.obj, on)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/menu.pyx python-efl-1.8.2~201401231220/efl/elementary/menu.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/menu.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/menu.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -36,11 +36,11 @@
Default content parts of the menu items that you can use for are:
-- "default" - A main content of the menu item
+- ``default`` - A main content of the menu item
Default text parts of the menu items that you can use for are:
-- "default" - label in the menu item
+- ``default`` - label in the menu item
"""
@@ -78,6 +78,7 @@
self.kwargs = kargs
def add_to(self, Menu menu not None):
+ # TODO: document this
cdef Elm_Object_Item *item, *parent_obj = NULL
cdef Evas_Smart_Cb cb = NULL
@@ -90,12 +91,12 @@
self.label if self.label is not None else NULL,
cb, self)
- if item != NULL:
- self._set_obj(item)
- self._set_properties_from_keyword_args(self.kwargs)
- return self
- else:
- Py_DECREF(self)
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
property object:
"""Get the Evas_Object of an Elm_Object_Item
@@ -167,6 +168,9 @@
:type: tuple of :py:class:`MenuItem`
+ .. versionadded:: 1.8
+ Calling del on this property clears the subitems
+
"""
def __get__(self):
return _object_item_list_to_python(elm_menu_item_subitems_get(self.item))
@@ -224,11 +228,15 @@
cdef class MenuSeparatorItem(ObjectItem):
+ """A separator type menu item."""
+
cdef MenuItem parent
+
def __init__(self, MenuItem parent):
self.parent = parent
def add_to(self, Menu menu not None):
+ # TODO: document this
cdef Elm_Object_Item *item
if self.cb_func is not None:
@@ -237,17 +245,15 @@
item = elm_menu_item_separator_add(menu.obj,
self.parent.item if self.parent is not None else NULL)
- if item != NULL:
- self._set_obj(item)
- return self
- else:
- Py_DECREF(self)
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ return self
property is_separator:
"""Returns whether the item is a separator.
- .. seealso:: :py:func:`Menu.item_separator_add()`
-
:type: bool
"""
@@ -301,7 +307,7 @@
property parent:
"""The parent for the given menu widget.
- :type: :py:class:`Object`
+ :type: :py:class:`~efl.elementary.object.Object`
"""
def __get__(self):
@@ -340,9 +346,9 @@
elm_menu_close(self.obj)
property items:
- """Returns a list of ``item``'s items.
+ """Returns a list of ``item``'s.
- :type: tuple of :py:class:`Object`
+ :type: tuple of :py:class:`MenuItem`
"""
def __get__(self):
@@ -358,7 +364,7 @@
Add an item at the end of the given menu widget
:param parent: The parent menu item (optional)
- :type parent: :py:class:`Object`
+ :type parent: :py:class:`~efl.elementary.object.Object`
:param string icon: An icon display on the item. The icon will be destroyed
by the menu.
:param string label: The label of the item.
@@ -401,10 +407,10 @@
Add a separator item to menu under ``parent``.
- This item is a :py:class:`Separator`.
+ This item is a :py:class:`~efl.elementary.separator.Separator`.
:param parent: The item to add the separator under
- :type parent: :py:class:`Object`
+ :type parent: :py:class:`~efl.elementary.object.Object`
:return: The created item or None on failure
:rtype: :py:class:`MenuSeparatorItem`
@@ -459,7 +465,7 @@
def callback_dismissed_add(self, func, *args, **kwargs):
"""the user clicked the empty space in the menu to dismiss
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("dismissed", func, *args, **kwargs)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/multibuttonentry.pyx python-efl-1.8.2~201401231220/efl/elementary/multibuttonentry.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/multibuttonentry.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/multibuttonentry.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -34,33 +34,36 @@
further actions.
This widget emits the following signals, besides the ones sent from
-:py:class:`LayoutClass`:
+:py:class:`~efl.elementary.layout_class.LayoutClass`:
- ``item,selected`` - this is called when an item is selected by
- api, user interaction, and etc. this is also called when a
- user press back space while cursor is on the first field of
- entry.
+ api, user interaction, and etc. this is also called when a
+ user press back space while cursor is on the first field of
+ entry.
- ``item,added`` - when a new multi-button entry item is added.
- ``item,deleted`` - when a multi-button entry item is deleted.
- ``item,clicked`` - this is called when an item is clicked by user
- interaction. Both "item,selected" and "item,clicked" are needed.
+ interaction. Both "item,selected" and "item,clicked" are needed.
- ``clicked`` - when multi-button entry is clicked.
- ``focused`` - when multi-button entry is focused.
- ``unfocused`` - when multi-button entry is unfocused.
- ``expanded`` - when multi-button entry is expanded.
- ``contracted`` - when multi-button entry is contracted.
- ``expand,state,changed`` - when shrink mode state of
- multi-button entry is changed.
+ multi-button entry is changed.
Default text parts of the multibuttonentry widget that you can use for are:
- - "default" - A label of the multibuttonentry
+
+- ``default`` - A label of the multibuttonentry
Default text parts of the multibuttonentry items that you can use for are:
- - "default" - A label of the multibuttonentry item
+
+- ``default`` - A label of the multibuttonentry item
"""
from cpython cimport PyUnicode_AsUTF8String, Py_DECREF, Py_INCREF
+from libc.stdint cimport uintptr_t
from efl.eo cimport _object_mapping_register, object_from_instance, PY_REFCOUNT
from efl.utils.conversions cimport _ctouni
@@ -110,6 +113,13 @@
self.args = args
self.kwargs = kargs
+ def __repr__(self):
+ return ("<%s(%#x, refcount=%d, Elm_Object_Item=%#x, "
+ "label=%r, callback=%r, args=%r, kargs=%s)>") % \
+ (self.__class__.__name__, self,
+ PY_REFCOUNT(self), self.item,
+ self.text_get(), self.cb_func, self.args, self.kwargs)
+
def append_to(self, MultiButtonEntry mbe not None):
cdef Elm_Object_Item *item
cdef Evas_Smart_Cb cb = NULL
@@ -121,12 +131,12 @@
self.label if self.label is not None else NULL,
cb, self)
- if item != NULL:
- self._set_obj(item)
- self._set_properties_from_keyword_args(self.kwargs)
- return self
- else:
- Py_DECREF(self)
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
def prepend_to(self, MultiButtonEntry mbe not None):
cdef Elm_Object_Item *item
@@ -139,12 +149,12 @@
self.label if self.label is not None else NULL,
cb, self)
- if item != NULL:
- self._set_obj(item)
- self._set_properties_from_keyword_args(self.kwargs)
- return self
- else:
- Py_DECREF(self)
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
def insert_before(self, MultiButtonEntryItem before not None):
cdef Elm_Object_Item *item
@@ -159,12 +169,12 @@
self.label if self.label is not None else NULL,
cb, self)
- if item != NULL:
- self._set_obj(item)
- self._set_properties_from_keyword_args(self.kwargs)
- return self
- else:
- Py_DECREF(self)
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
def insert_after(self, MultiButtonEntryItem after not None):
cdef Elm_Object_Item *item
@@ -179,23 +189,12 @@
self.label if self.label is not None else NULL,
cb, self)
- if item != NULL:
- self._set_obj(item)
- self._set_properties_from_keyword_args(self.kwargs)
- return self
- else:
- Py_DECREF(self)
-
- def __str__(self):
- return ("%s(label=%r, callback=%r, args=%r, kargs=%s)") % \
- (self.__class__.__name__, self.text_get(), self.cb_func, self.args, self.kwargs)
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
- def __repr__(self):
- return ("%s(%#x, refcount=%d, Elm_Object_Item=%#x, "
- "label=%r, callback=%r, args=%r, kargs=%s)") % \
- (self.__class__.__name__, self,
- PY_REFCOUNT(self), self.item,
- self.text_get(), self.cb_func, self.args, self.kwargs)
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
property selected:
def __get__(self):
@@ -418,6 +417,8 @@
:type: bool
+ .. versionadded:: 1.8
+
"""
def __set__(self, bint editable):
elm_multibuttonentry_editable_set(self.obj, editable)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/naviframe.pyx python-efl-1.8.2~201401231220/efl/elementary/naviframe.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/naviframe.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/naviframe.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -44,39 +44,34 @@
:py:func:`~efl.elementary.object.Object.part_content_set` on the right swallow
part names expected for each, which are:
-- ``"default"`` - The main content of the current page
-- ``"icon"`` - An icon in the title area of the current page
-- ``"prev_btn"`` - A button of the current page to go to the
- previous page
-- ``"next_btn"`` - A button of the current page to go to the next
- page
+- ``default`` - The main content of the current page
+- ``icon`` - An icon in the title area of the current page
+- ``prev_btn`` - A button of the current page to go to the previous page
+- ``next_btn`` - A button of the current page to go to the next page
For text, :py:func:`~efl.elementary.object.Object.part_text_set` will work here
on:
-- ``"default"`` - Title label in the title area of the current
- page
-- ``"subtitle"`` - Sub-title label in the title area of the
- current page
+- ``default`` - Title label in the title area of the current page
+- ``subtitle`` - Sub-title label in the title area of the current page
Most of those content objects can be passed at the time of an item
-creation (see :py:meth:`~Naviframe.item_push`).
+creation (see :py:meth:`~NaviframeItem.push_to`).
Naviframe items can have different styles, which affect the
transition between views, for example. On the default theme, two of
them are supported:
-- ``"basic"`` - views are switched sliding horizontally, one after
- the other
-- ``"overlap"`` - like the previous one, but the previous view stays
- at its place and is ovelapped by the new
+- ``basic`` - views are switched sliding horizontally, one after the other
+- ``overlap`` - like the previous one, but the previous view stays at its place
+ and is ovelapped by the new
This widget emits the following signals, besides the ones sent from
:py:class:`~efl.elementary.layout_class.LayoutClass`:
-- ``transition,finished`` - When the transition is finished in
- changing the item
+- ``transition,finished`` - When the transition is finished in changing the
+ item
- ``title,clicked`` - User clicked title area
- ``focused`` - When the naviframe has received focus. (since 1.8)
- ``unfocused`` - When the naviframe has lost focus. (since 1.8)
@@ -84,12 +79,13 @@
All the parts, for content and text, described here will also be
reachable by naviframe **items** direct calls:
-- :py:func:`part_text_set()`
-- :py:func:`part_text_get()`
-- :py:func:`part_content_set()`
-- :py:func:`part_content_get()`
-- :py:func:`part_content_unset()`
-- :py:func:`signal_emit()`
+- :py:meth:`~efl.elementary.object_item.ObjectItem.delete`
+- :py:meth:`~efl.elementary.object_item.ObjectItem.part_text_set`
+- :py:meth:`~efl.elementary.object_item.ObjectItem.part_text_get`
+- :py:meth:`~efl.elementary.object_item.ObjectItem.part_content_set`
+- :py:meth:`~efl.elementary.object_item.ObjectItem.part_content_get`
+- :py:meth:`~efl.elementary.object_item.ObjectItem.part_content_unset`
+- :py:meth:`~efl.elementary.object_item.ObjectItem.signal_emit`
What happens is that the topmost item of a naviframe will be the
widget's target layout, when accessed directly. Items lying below
@@ -123,7 +119,7 @@
def __init__(self, title_label = None, evasObject prev_btn = None,
evasObject next_btn = None, evasObject content = None,
- item_style = None):
+ item_style = None, *args, **kwargs):
"""The following styles are available for this item:
@@ -158,6 +154,9 @@
if content is not None:
self.item_content = content.obj
+ self.args = args
+ self.kwargs = kwargs
+
def push_to(self, Naviframe naviframe):
"""push_to(Naviframe naviframe)
@@ -183,11 +182,12 @@
self.item_content,
self.item_style if self.item_style is not None else NULL)
- if item != NULL:
- self._set_obj(item)
- return self
- else:
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
def insert_before(self, NaviframeItem before):
"""insert_before(NaviframeItem before)
@@ -221,11 +221,12 @@
self.item_content,
self.item_style if self.item_style is not None else NULL)
- if item != NULL:
- self._set_obj(item)
- return self
- else:
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
def insert_after(self, NaviframeItem after):
"""insert_after(NaviframeItem after)
@@ -259,11 +260,12 @@
self.item_content,
self.item_style if self.item_style is not None else NULL)
- if item != NULL:
- self._set_obj(item)
- return self
- else:
- return None
+ if item == NULL:
+ raise RuntimeError("The item could not be added to the widget.")
+
+ self._set_obj(item)
+ self._set_properties_from_keyword_args(self.kwargs)
+ return self
@DEPRECATED("1.8", "Use :py:func:`pop_to` instead.")
def item_pop_to(self):
@@ -371,7 +373,7 @@
:return: ``None`` or the content object(if
:py:attr:`content_preserve_on_pop` is True).
- :rtype: :py:class:`evas.object.Object`
+ :rtype: :py:class:`~efl.evas.Object`
"""
return object_from_instance(elm_naviframe_item_pop(self.obj))
@@ -453,12 +455,11 @@
If is True, the contents of the naviframe item will receives events
from mouse and keyboard during view changing such as item push/pop.
- .. warning:: Events will be blocked by
- calling :py:func:`freeze_events_set()` internally.
+ .. warning::
+ Events will be blocked by setting
+ :py:attr:`~efl.evas.Object.freeze_events` internally.
So don't call the API while pushing/popping items.
- .. seealso:: :py:attr:`evas.object.Object.freeze_events`
-
:type: bool
"""
@@ -517,7 +518,7 @@
def callback_focused_add(self, func, *args, **kwargs):
"""When the naviframe has received focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("focused", func, *args, **kwargs)
@@ -527,7 +528,7 @@
def callback_unfocused_add(self, func, *args, **kwargs):
"""When the naviframe has lost focus.
- :since: 1.8
+ .. versionadded:: 1.8
"""
self._callback_add("unfocused", func, *args, **kwargs)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/need.pyx python-efl-1.8.2~201401231220/efl/elementary/need.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/need.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/need.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -44,6 +44,8 @@
:return: True if support exists and initialization succeeded.
:rtype: bool
+ .. versionadded:: 1.8
+
"""
return bool(elm_need_systray())
@@ -59,6 +61,8 @@
:return: True if support exists and initialization succeeded.
:rtype: bool
+ .. versionadded:: 1.8
+
"""
return bool(elm_need_sys_notify())
@@ -90,6 +94,8 @@
:return: True if support exists and initialization succeeded.
:rtype: bool
+ .. versionadded:: 1.8
+
"""
return bool(elm_need_eldbus())
@@ -105,6 +111,8 @@
:return: True if support exists and initialization succeeded.
:rtype: bool
+ .. versionadded:: 1.8
+
"""
return bool(elm_need_elocation())
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/notify.pyx python-efl-1.8.2~201401231220/efl/elementary/notify.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/notify.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/notify.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -24,18 +24,18 @@
Display a container in a particular region of the parent.
-A timeout can be set to automatically hide the notify. This is so that,
-after an :py:func:`show()` on a notify object, if a timeout was set on it,
-it will **automatically** get hidden after that time.
+A timeout can be set to automatically hide the notify. This is so that, after an
+:py:meth:`~efl.evas.Object.show` on a notify object, if a timeout
+was set on it, it will **automatically** get hidden after that time.
Signals that you can add callbacks for are:
-- "timeout" - when timeout happens on notify and it's hidden
-- "block,clicked" - when a click outside of the notify happens
+- ``timeout`` - when timeout happens on notify and it's hidden
+- ``block,clicked`` - when a click outside of the notify happens
Default content parts of the notify widget that you can use are:
-- ``"default"`` - The main content of the notify
+- ``default`` - The main content of the notify
Enumerations
@@ -50,7 +50,7 @@
Use with :py:attr:`Notify.align`
- :since: 1.8
+ .. versionadded:: 1.8
"""
@@ -95,7 +95,7 @@
Once the parent object is set, a previously set one will be disconnected
and replaced.
- :type: :py:class:`Object`
+ :type: :py:class:`~efl.elementary.object.Object`
"""
def __get__(self):
@@ -113,11 +113,11 @@
"""The time interval after which the notify window is going to be
hidden.
- Setting this starts the timer controlling when the
- notify is hidden. Since calling :py:func:`show()` on a notify restarts
- the timer controlling when the notify is hidden, setting this before the
- notify is shown will in effect mean starting the timer when the notify is
- shown.
+ Setting this starts the timer controlling when the notify is hidden.
+ Since calling :py:meth:`efl.evas.Object.show` on a notify restarts the
+ timer controlling when the notify is hidden, setting this before the
+ notify is shown will in effect mean starting the timer when the notify
+ is shown.
.. note:: Set a value <= 0.0 to disable a running timer.
@@ -141,8 +141,8 @@
property allow_events:
"""Whether events should be passed to by a click outside its area.
- When True if the user clicks outside the window the events will be caught
- by the others widgets, else the events are blocked.
+ When True if the user clicks outside the window the events will be
+ caught by the others widgets, else the events are blocked.
.. note:: The default value is True.
@@ -169,9 +169,10 @@
Sets the alignment in which the notify will appear in its parent.
.. note:: To fill the notify box in the parent area, please pass
- :ref:`ELM_NOTIFY_ALIGN_FILL ` to ``horizontal``, ``vertical``.
+ :ref:`ELM_NOTIFY_ALIGN_FILL` to
+ ``horizontal``, ``vertical``.
- :since: 1.8
+ .. versionadded:: 1.8
"""
def __set__(self, value):
@@ -216,9 +217,11 @@
@DEPRECATED("1.8", "Use align instead.")
def orient_set(self, int orient):
+ """orient_set(int orient)"""
elm_notify_orient_set(self.obj, orient)
@DEPRECATED("1.8", "Use align instead.")
def orient_get(self):
+ """orient_get() -> int"""
return elm_notify_orient_get(self.obj)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/object.pxd python-efl-1.8.2~201401231220/efl/elementary/object.pxd
--- python-efl-1.17.99~201312040125/efl/elementary/object.pxd 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/object.pxd 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -148,9 +148,12 @@
void elm_object_domain_translatable_part_text_set(Evas_Object *obj, const_char *part, const_char *domain, const_char *text)
void elm_object_domain_translatable_text_set(Evas_Object *obj, const_char *domain, const_char *text)
void elm_object_translatable_text_set(Evas_Object *obj, const_char *text)
+ void elm_object_translatable_part_text_set(Evas_Object *obj, const_char *part, const_char *text)
const_char * elm_object_translatable_part_text_get(const_Evas_Object *obj, const_char *part)
const_char * elm_object_translatable_text_get(Evas_Object *obj)
void elm_object_domain_part_text_translatable_set(Evas_Object *obj, const_char *part, const_char *domain, Eina_Bool translatable)
+ void elm_object_part_text_translatable_set(Evas_Object *obj, const_char *part, Eina_Bool translatable)
+ void elm_object_domain_text_translatable_set(Evas_Object *obj, const_char *domain, Eina_Bool translatable)
# Access (elm_access.h)
#TODO: Evas_Object * elm_access_object_get(const_Evas_Object *obj)
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/object.pyx python-efl-1.8.2~201401231220/efl/elementary/object.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/object.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/object.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -78,6 +78,29 @@
Focus next
+.. data:: ELM_FOCUS_UP
+
+ Focus up
+
+ .. versionadded:: 1.8.1
+
+.. data:: ELM_FOCUS_DOWN
+
+ Focus down
+
+ .. versionadded:: 1.8.1
+
+.. data:: ELM_FOCUS_RIGHT
+
+ Focus right
+
+ .. versionadded:: 1.8.1
+
+.. data:: ELM_FOCUS_LEFT
+
+ Focus left
+
+ .. versionadded:: 1.8.1
.. _Elm_Input_Event_Type:
@@ -158,7 +181,7 @@
Defines the kind of action associated with the drop data if for XDND
-:since: 1.8
+.. versionadded:: 1.8
.. data:: ELM_XDND_ACTION_UNKNOWN
@@ -198,6 +221,7 @@
from cpython cimport PyObject, Py_INCREF, Py_DECREF, PyObject_GetAttr, \
PyObject_GetBuffer, PyBuffer_Release, PyBUF_SIMPLE, PyObject_CheckBuffer, \
PyUnicode_AsUTF8String
+from libc.stdint cimport uintptr_t
from efl.eo cimport _object_mapping_register
from efl.utils.conversions cimport _ctouni, eina_list_objects_to_python_list
@@ -220,6 +244,10 @@
ELM_FOCUS_PREVIOUS = enums.ELM_FOCUS_PREVIOUS
ELM_FOCUS_NEXT = enums.ELM_FOCUS_NEXT
+ELM_FOCUS_UP = enums.ELM_FOCUS_UP
+ELM_FOCUS_DOWN = enums.ELM_FOCUS_DOWN
+ELM_FOCUS_RIGHT = enums.ELM_FOCUS_RIGHT
+ELM_FOCUS_LEFT = enums.ELM_FOCUS_LEFT
EVAS_CALLBACK_KEY_DOWN = evasenums.EVAS_CALLBACK_KEY_DOWN
EVAS_CALLBACK_KEY_UP = evasenums.EVAS_CALLBACK_KEY_UP
@@ -263,7 +291,7 @@
if event_conv is None:
func(obj, *args, **kargs)
else:
- ei = event_conv(event_info)
+ ei = event_conv(event_info)
func(obj, ei, *args, **kargs)
except:
traceback.print_exc()
@@ -753,7 +781,7 @@
- Just return ``True`` on *func*. ``False`` will mean the event
was **not** processed, so the propagation will go on.
- - The ``event_info`` pointer passed to ``func`` will contain the
+ - The ``event_info`` passed to ``func`` will contain the
event's structure and, if you OR its ``event_flags`` inner
value to *EVAS_EVENT_FLAG_ON_HOLD*, you're telling
Elementary one has already handled it, thus killing the
@@ -839,7 +867,7 @@
:type: bool
- :since: 1.8
+ .. versionadded:: 1.8
"""
def __set__(self, bint disabled):
@@ -1081,7 +1109,7 @@
:see: :py:func:`focus_next`
- :since: 1.8
+ .. versionadded:: 1.8
"""
return object_from_instance(
@@ -1103,7 +1131,7 @@
:see: :py:func:`focus_next`
- :since: 1.8
+ .. versionadded:: 1.8
"""
elm_object_focus_next_object_set(self.obj, next.obj, direction)
@@ -1113,7 +1141,7 @@
:return: Current focused or None, if there is no focused object.
- :since: 1.8
+ .. versionadded:: 1.8
"""
def __get__(self):
@@ -1172,7 +1200,7 @@
property mirrored_automatic:
"""The widget's mirrored mode setting. When widget in automatic
mode, it follows the system mirrored mode set by
- :py:attr:`efl.elementary.configuration.mirrored`.
+ :py:attr:`efl.elementary.configuration.Configuration.mirrored`.
:type: bool
@@ -1240,6 +1268,8 @@
:type: int
+ .. versionadded:: 1.8
+
"""
def __get__(self):
return elm_object_scroll_hold_get(self.obj)
@@ -1274,6 +1304,8 @@
:type: int
+ .. versionadded:: 1.8
+
"""
def __get__(self):
return elm_object_scroll_freeze_get(self.obj)
@@ -1322,7 +1354,7 @@
configuration difficult. Avoid any custom themes at all if it can be
helped.
- :type: :py:class:`Theme`
+ :type: :py:class:`~efl.elementary.theme.Theme`
"""
def __set__(self, Theme th):
@@ -1494,7 +1526,7 @@
:param domain: The translation domain to use
:param text: The original, non-translated text to set
- :since: 1.8
+ .. versionadded:: 1.8
"""
if isinstance(part, unicode): part = PyUnicode_AsUTF8String(part)
@@ -1509,13 +1541,27 @@
def domain_translatable_text_set(self, domain, text):
"""domain_translatable_text_set(unicode domain, unicode text)
- Convenience function"""
+ A convenience function.
+
+ """
if isinstance(domain, unicode): domain = PyUnicode_AsUTF8String(domain)
if isinstance(text, unicode): text = PyUnicode_AsUTF8String(text)
elm_object_domain_translatable_text_set(self.obj,
domain if domain is not None else NULL,
text if text is not None else NULL)
+ def translatable_part_text_set(self, part, text):
+ """translatable_part_text_set(part, text)
+
+ A convenience function.
+
+ """
+ if isinstance(part, unicode): part = PyUnicode_AsUTF8String(part)
+ if isinstance(text, unicode): text = PyUnicode_AsUTF8String(text)
+ elm_object_translatable_part_text_set(self.obj,
+ part if part is not None else NULL,
+ text if text is not None else NULL)
+
@DEPRECATED("1.8", "Use :py:func:`translatable_part_text_get` instead.")
def translatable_text_part_get(self, part):
"""translatable_text_part_get(part) -> unicode"""
@@ -1541,7 +1587,7 @@
:see: :py:func:`translatable_part_text_set`
- :since: 1.8
+ .. versionadded:: 1.8
"""
if isinstance(part, unicode): part = PyUnicode_AsUTF8String(part)
@@ -1567,7 +1613,7 @@
:seealso: :py:func:`efl.elementary.general.policy_set`
- :since: 1.8
+ .. versionadded:: 1.8
"""
if isinstance(part, unicode): part = PyUnicode_AsUTF8String(part)
@@ -1577,8 +1623,27 @@
domain,
translatable)
+ def part_text_translatable_set(self, part, bint translatable):
+ """part_text_translatable_set(part, bool translatable)
+
+ A convenience function.
+
+ """
+ if isinstance(part, unicode): part = PyUnicode_AsUTF8String(part)
+ elm_object_part_text_translatable_set(self.obj,
+ part, translatable)
+
+ def domain_text_translatable_set(self, domain, bint translatable):
+ """domain_text_translatable_set(domain, bool translatable)
+
+ A convenience function.
+
+ """
+ if isinstance(domain, unicode): domain = PyUnicode_AsUTF8String(domain)
+ elm_object_domain_text_translatable_set(self.obj, domain, translatable)
+
property translatable_text:
- # TODO: Document this
+ """Translatable text for the main text part of the widget."""
def __get__(self):
return self.translatable_text_get()
def __set__(self, text):
@@ -1720,7 +1785,7 @@
:return: Address of saved Evas_Object
"""
- return self.obj
+ return self.obj
#
# Copy and Paste
@@ -1769,7 +1834,7 @@
:param selection: Selection type for copying and pasting
:param format: Selection format
:param datacb: The user data callback if the target widget isn't elm_entry
- :param udata: The user data pointer for ``datacb``
+ :param udata: The user data for ``datacb``
:return bool: Whether getting cnp data was successful or not.
@@ -1814,7 +1879,7 @@
:param selection: Selection to be notified of for loss
:param func: The function to call
- :param data: The data pointer passed to the function.
+ :param data: The data passed to the function.
"""
if not callable(func):
diff -Nru python-efl-1.17.99~201312040125/efl/elementary/object_item.pyx python-efl-1.8.2~201401231220/efl/elementary/object_item.pyx
--- python-efl-1.17.99~201312040125/efl/elementary/object_item.pyx 2013-12-03 19:56:47.000000000 +0000
+++ python-efl-1.8.2~201401231220/efl/elementary/object_item.pyx 2014-01-18 12:24:01.000000000 +0000
@@ -5,7 +5,7 @@
# Python-EFL is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
+# version 3 of the License, or (at your option) any later version.
#
# Python-EFL is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -16,6 +16,7 @@
# along with this Python-EFL. If not, see .
from cpython cimport PyUnicode_AsUTF8String, Py_DECREF, Py_INCREF
+from libc.stdint cimport uintptr_t
from efl.eo cimport _object_mapping_register, object_from_instance, PY_REFCOUNT
from efl.utils.conversions cimport _ctouni
@@ -144,13 +145,15 @@
def __repr__(self):
return ("<%s object (ObjectItem) at %#x (obj=%#x, refcount=%d, widget=%s)>") % (
type(self).__name__,
-