This README would normally document whatever steps are necessary to get your application up and running.
This is the GIT repository for VoxelSuite, a voxel editing application built on the VoxelShop codebase.
Documentation on how to use the program can be found here.
Git, IntelliJ and JDK8 (e.g. http://downloads.puresoftware.org/files/android/JDK/)
Fork the git repository, open a terminal, go to the desired project location and type:
> git init
> git remote add origin [FORK_HTTPS_URL]
> git pull origin master
then enter your password and wait until command completes
Create a new feature branch using develop
as a base for each change set you are planning to do.
git checkout develop
git checkout -b feature-branch-name
Commit and push as you work on your feature branch.
Once you are happy create a pull request from your feature branch against
the main repo develop
branch, referencing the associated issue(s).
Make sure you use a different branch for each change set.
clean resources compile copy resources copy dependencies jar
- Click Open and select PS4k Folder (within the folder you selected as root)
- Ensure the JDK8 is selected under File > Project Structure > Project
- Right click on PS4k > src > com > vitco > Main and "Run" to start VoxelShop
- Important: Click on Main and on "Edit Configuration" and add "debug" as a program argument
- Click Build > Build Artifacts > All Artifacts
- All content needed to run PS4k is under PS4k > out > artifacts > PS4k_jar
Java UI component provider and Window Manager http://www.jidesoft.com/
- Execute jide_designer.jar under Tools/jide_designer and open PS4k\resource\layout\TopLayout.ilayout
- Under Design, click the "+ Frame" button
- For the added Frame update the ID, the Titles (starting with "# ") and set showContextMenu and autohidable to False
- If you want to change the layout, do it through the properties window. Drag and drop changes are not saved (!).
- Finally save the file and close Jide Designer
- When starting VoxelShop now you will see a warning that no linkage is defined for the frame. We need to fix that!
- Under PS4k > src > com > vitco > layout > frames create a new java file called "[FRAME_ID]Linkage". This class will create some logic for the Frame we just created.
- Compare how other Linkages work. The important bits are constructing the frame and updating the title. We also need to define a "show" action for the frame.
- We will need a 16x16 png icon for the frame. Create it under PS4k > resource > img > icons > frames. This icon is shown when the frame is tabbed.
- Now open to PS4k > src > com > vitco > glue > config.xml and add the linkage similar to the existing ones.
- Now define the Frame titles by adding them as "[FRAME_ID]_caption" to PS4k > resource > bundle > LangBundle.properties
- Open PS4k > src > com > vitco > layout > bars > main_menu.xml and link the show action to to a new menu item under menu item "tool_windows_btn".
- Start the program and ensure we can toggle the visibility of the frame through the main menu
- Open PS4k > src > com > vitco > glue > shortcuts.xml
- Add the missing frames in here. This is where we will specify frame specific shortcuts.
- Create a new package "[FRAME_ID]" under PS4k > src > com > vitco > layout > content
- Create a Class "[FRAME_ID]View" extending ViewPrototype and an implemented Interface "[FRAME_ID]ViewInterface" that contains a method "JComponent build(Frame frame)"
- In the Linkage class define a setter method for the Interface (we will inject the class shortly) and after updating the title, call frame.add([INJECTED_VARIABLE].build(mainFrame));
- Now we need to inject the class into the Linkage Class. Open PS4k > src > com > vitco > glue > config.xml and create a new bean from the class we just defined with the build method. Then inject the property into the frame bean we defined previously.
- Now we can start working on our GUI in the build method.
- Define an xml file, load it and attach it to the layout
- Define actions and link to them in the xml file
-- Below is auto generated
- Summary of set up
- Configuration
- Dependencies
- Database configuration
- How to run tests
- Deployment instructions
- Writing tests
- Code review
- Other guidelines
- Repo owner or admin
- Other community or team contact