System and method for smart drag-and-drop functionality
First Claim
1. A method of providing a smart drag-and-drop mechanism for use in a graphical user interface environment, comprising the steps of:
- allowing a user of a system to drag a plurality of source code files into an explorer interface at the system, wherein each of the plurality of source code files includes a source code text, software class declarations, and a package statement defined within the text of the source code that identifies a name space and a correct destination directory into which the software classes are to be stored;
after receiving an instruction from the user to drop the plurality of source code files into a vacant portion of the explorer interface, other than onto a particular folder;
determining that the instruction is for a smart drop;
independently for each source code file within the plurality of source code filessearching within the text of the source code for the package statement defined therein, and the name space identified by the package statement;
determining a destination directory hierarchy that corresponds to the name space identified in the package statement, including creating the destination directory hierarchy for the name space if it does not already exist;
one of copying or moving the source code file into the correct destination directory within said directory hierarchy that matches the name space identified in the package statement for that source code file; and
repeating the steps of searching, determining, and one of copying or moving, for each of the plurality of source code files that were dropped;
wherein, for each source code file that is copied or moved using a smart drop, the destination directory hierarchy and the destination directory for that source code file is automatically determined by the system using the package statement within that source code file, independently of any folder currently selected by the user or any of the other source code files being copied or moved at the same time.
2 Assignments
0 Petitions
Accused Products
Abstract
The invention provides a system and method for providing smart file import and drag-and-drop functionality in a graphical user interface environment. As a file is dragged and dropped onto a set of folders using an explorer-like interface, the system automatically determines into which folder the file should be placed. If the folder does not already exist, then it is automatically created. A similar process can be used for file imports. The system is particularly useful for manipulating Java, Java derivative, or Java-related source files (including JAVA, JWS, CTRL, JWI, JAR, class files, etc.) in a Java application development environment, since in this type of environment the location of the file within the folder tree can be very important. Other embodiments of the invention include an icon-display mechanism which denotes to the user that the Smart Drop processing will take precedence over the normal drop behavior.
-
Citations
20 Claims
-
1. A method of providing a smart drag-and-drop mechanism for use in a graphical user interface environment, comprising the steps of:
-
allowing a user of a system to drag a plurality of source code files into an explorer interface at the system, wherein each of the plurality of source code files includes a source code text, software class declarations, and a package statement defined within the text of the source code that identifies a name space and a correct destination directory into which the software classes are to be stored; after receiving an instruction from the user to drop the plurality of source code files into a vacant portion of the explorer interface, other than onto a particular folder; determining that the instruction is for a smart drop; independently for each source code file within the plurality of source code files searching within the text of the source code for the package statement defined therein, and the name space identified by the package statement; determining a destination directory hierarchy that corresponds to the name space identified in the package statement, including creating the destination directory hierarchy for the name space if it does not already exist; one of copying or moving the source code file into the correct destination directory within said directory hierarchy that matches the name space identified in the package statement for that source code file; and repeating the steps of searching, determining, and one of copying or moving, for each of the plurality of source code files that were dropped; wherein, for each source code file that is copied or moved using a smart drop, the destination directory hierarchy and the destination directory for that source code file is automatically determined by the system using the package statement within that source code file, independently of any folder currently selected by the user or any of the other source code files being copied or moved at the same time. - View Dependent Claims (2, 3, 4)
-
-
5. A system for providing a smart drag-and-drop mechanism for use in a graphical user interface environment, comprising:
-
means for allowing a user of a system to drag a plurality of source code files into an explorer interface at the system, wherein each of the plurality of source code files includes a source code text, software class declarations, and a package statement defined within the text of the source code that identifies a name space and a correct destination directory into which the software classes are to be stored means for receiving an instruction from the user to drop the plurality of source code files into a vacant portion of the explorer interface, other than onto a particular folder; means for automatically determining if the file type matches one of a number of file types that may include a package statement, and if the file type does match one of the number of file types that may include a package statement, then, for each source code file when the source code file has been dropped, searching for a package statement within the source code file; automatically determining by the system a destination directory hierarchy; copying said source code file into a determined destination directory within said directory hierarchy; and repeating the steps of automatically determining and copying, for each of the remaining source code files that were dropped wherein, for each source code file, the destination directory hierarchy and the destination directory are automatically determined by the system to match the package statement within that source code file, independently of any folder that is currently displayed or currently selected within the explorer like interface. - View Dependent Claims (6, 7, 8)
-
-
9. A system for providing a smart drag-and-drop mechanism for use in a Java application development environment, comprising:
-
means for displaying on a screen at a system, a Java application development environment having an explorer like interface, including a plurality of directories and files therein that together comprise an application source; means for allowing a user of a system to drag a plurality of source code files into an explorer interface at the system, wherein each of the plurality of source code files includes a source code text, software class declarations, and a package statement defined within the text of the source code that identifies a name space and a correct destination directory into which the software classes are to be stored; means for receiving an instruction to drop the plurality of source code files into a vacant portion of the explorer interface, other than onto a particular folder; means for determining if the file type matches one of a number of Java file types that may include a package statement, and, if the file type does match one of the number of Java file types that may include a package statement then parsing the package statement to determine the package within the application to which the source code file belongs, and automatically creating, for each source code file and independently of any directory that may be currently selected in the explorer like interface, a hierarchy of directories and a destination directory for the source code file, that matches the package statement in that source code file; and means for copying the source code file into the destination directory. - View Dependent Claims (10, 11)
-
-
12. A method of providing a smart drag-and-drop mechanism for use in a Java application development environment, comprising the steps of:
-
displaying on a screen at a system, a Java application development environment having an explorer like interface, including a plurality of directories and files therein that together comprise an application source; allowing a user of a system to drag a plurality of source code files into an explorer interface at the system, wherein each of the plurality of source code files includes a source code text, software class declarations, and a package statement defined within the text of the source code that identifies a name space and a correct destination directory into which the software classes are to be stored; receiving an instruction to drop the plurality of source code files into a vacant portion of the explorer interface, other than onto a particular folder; determining if the file type matches one of a specified number of Java file types that may include a package statement; if the file type does match one of the specified number of Java file types that may include a package statement, then parsing the package statement to determine the package within the application to which the source code file belongs, and automatically creating, for each source code file and independently of any directory that may be currently selected in the explorer like interface, a hierarchy of directories and a destination directory for the source code file, that matches the package statement in that source code file; and copying the source code file into the destination directory. - View Dependent Claims (13, 14)
-
-
15. A method of providing a smart drag-and-drop mechanism for use in a graphical user interface environment, comprising the steps of:
-
allowing a user of a system to drag a source code file into an explorer interface at the system, wherein each source code file includes a source code text, software class declarations, and a package statement defined within the text of the source code that identifies a name space and a correct destination directory into which the software classes are to be stored; searching, as the source code file is being dragged into a vacant portion of the explorer interface other than onto a particular folder, within the text of the source code for the package statement defined therein, and the name space identified by the package statement; determining a destination directory hierarchy and destination directory that corresponds to the name space identified in the package statement, including creating the destination directory hierarchy for the name space if it does not already exist; displaying, over the source code filed being dragged, the correct destination directory or package name that matches the name space identified in the package statement for that source code file; and after the source code file has been dropped, one of copying or moving, the source code file that has been dropped into the correct destination directory within said directory hierarchy that matches the name space identified in the package statement for that source code file; wherein, for each source code file that is copied or moved, the destination directory hierarchy and the destination directory for that source code file is automatically determined by the system using the package statement within that source code file, independently of any folder currently selected by the user or any of the other source code files being copied or moved at the same time. - View Dependent Claims (16, 17)
-
-
18. A method of importing a source code file including a package statement, comprising the steps of:
-
allowing a user of a system to import a source code file into a system, wherein each source code file includes a source code text, software class declarations, and a package statement defined within the text of the source code that identifies a name space and a correct destination directory into which the software classes are to be stored; searching, as the source code file is being imported into the system, within the text of the source code for the package statement defined therein, and the name space identified by the package statement; determining a destination directory hierarchy and destination directory that corresponds to the name space identified in the package statement, including creating the destination directory hierarchy for the name space if it does not already exist; one of copying or moving, the source code file that has been dropped into the correct destination directory within said directory hierarchy that matches the name space identified in the package statement for that source code file; wherein, for each source code file that is copied or moved, the destination directory hierarchy and the destination directory for that source code file is automatically determined by the system using the package statement within that source code file. - View Dependent Claims (19, 20)
-
Specification