Giter VIP home page Giter VIP logo

niftyeditor's Introduction

Nifty-editor

An editor to build GUIs for your game engine! Powered by the powerfull nifty-gui , you could create immersive GUIs for your games in few steps! Nifty-gui has rederer support for the follow engines :

  • LWJGL
  • JMonkeyEngine
  • JOGL
  • Slick2d
  • Java2d
  • Libgdx (1.4 version)

So if you use one of them you should try Nifty-Editor and Nifty-gui!

Download and news at home page. Also here is a video about the latest version , notice that this software is still in beta :

IMAGE ALT TEXT HERE

Supported Controls

Nifty editor supports all nifty-gui controls except for Tabbed panel , pop-up , menus . This list could change in the next versions . For any futher details about which are nifty-gui controls and their properties look at Nifty controls wiki

How to Contribute

Simply fork my repo and send pull requests . This is a Netbeans project so if you want to compile it you need a Netbeans installation on you desktop. In the future it maybe will become a gradle project so you would use it in your prefered java IDE.

Issues or suggestion

Please use Github issue tracker and every suggestion is appreciate! .

niftyeditor's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

niftyeditor's Issues

Background is not removed

If you remove a layer and it has a background ( color or image ) ,it will not removed and you still see the background.

Releative path for resources

This is a must . The final user will choose where his assets are , When he will select an image/sound/font , he will have three option :

  1. Copy the file in the asset folder or in a subfolder.
  2. Use the relative path from the asset folder ( useful when he chooses something inside asset folder
  3. Use absolute path ( as he own risk ) .

This approach is similar to what netbeans does for libraries.
Note : No information about assets folder will saved in nifty-gui file ,so by now the user should set it manually every time.

Only 800x600 is painted

Hi,
on Version 0.5.9 ive got only 800x600 px resolution painted. If i change the resolution to 1024x768 i see that the Rectangle ist bigger. But the Drawcanvas where all the magic is doesnt got changed.

Drag elements inside main view improvements

Right now the visual movement of an element only works for an absolute layout in the parent. We could work around this by adding the element to a special popup layer with absolute layout and then drag it there , as nifty currently does for draggable elements .

Refresh with mutiple screens

Due to the nature of refresh method , refresh a gui with more than one screens causes nullpointer. This is because of nifty.getCurrentScreen() in refresh method . Should be added a way to get the screen where the element is or pass it in refresh method as argument .

Download and starting problems

Hi there,

i have some trouble with your Editor.
First thing, the Download for the "JME plugin 0.5.9 alpha" is defect for me. There is no dl, only the code in crypts :)
http://niftyeditor.it/download/5/

the other thing, if i download the "Nifty-Editor v0.6 SOC edition" i can start it, but cant use anything inside (except create, delete ... new files)
i use linux dist (fedora22) and openjdk 1.8.0_60-b27
when i start the jar file, i get this Warnings in the console ->> http://pastebin.com/fcwBTdBU

Set id of an element

Nifty-editor needs that the id of an element should be unique , right now there's no check about that even if it is implemented in id-generator . Also the name of a node in JTree should be updated if the id changes.

Unique identfier is on wrong field of GElement

Looked at the source.
Code test uniqueness on element.id but, as is, 'id' in tags is not mandatory.
I think that is way text and interaction tags are not handled.
But I see that image tag in nifty-editor terminal log have id="".

 <image id="" filename="Interface/start-background.png"/>

So, if code test IDgenerator.isUnique() there can be just one tag with id="". Correct ?
If it is correct my proposal is new transient field with generated key. That key is unique. If it is needed.
Code can then test for id uniqueness but not require that 'id' is not empty or null.

Contextual editing popUp

Right click on element should provide a better editing popUp maybe even different for each type of element . For example it could be added some buttons for fast layout or a button to change check value in the checkbox .

Resolution control

The final user needs to manipulate the resolution of the displayed GUI as the JME 3 editor currently does. Also it needs a way to pan the view if the display size is higher than the size of the component .

Make move coherent with drop action

Right now , when you move an element to an other you move it to NiftyElement no to DropContext element . This is good for almost all elements except for those which have a complex layout like for example Window and ScrollPanel . Change with DropContext should solve the issue.

Layer order

A final user should be able to change the order of the layers.

Element order

when you change the order of the elements in a vertical layout or horizzontal layout , this changes are only displayed and they don't change the model . This causes a wrong order when you save the xml file.

cant load previous saved files

I am currently wokring on my Menu in my game and tried out the nifty editor
but if i save the current stuff, i cannot reload the file
got a huge amount of errors in my console

(i used niftyeditor 0.6 and also 0.59)

like this
WARNING: screen [GScreen0] not found

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<nifty>
    <useControls filename="nifty-default-controls.xml"/>
    <useStyles filename="nifty-default-styles.xml"/>
    <screen id="GScreen1">
        <layer id="mainmenu" childLayout="vertical" backgroundImage="D:\Dropbox\Game Development\Nifty Gui Editor\background.png">
            <image id="header" filename="D:\Dropbox\Game Development\Nifty Gui Editor\Brick _ _ Breaker logo.png" width="80%" x="558" y="74" valign="top" align="center" height="20%"/>
            <panel id="pnl_bottom" childLayout="absolute" width="100%" valign="bottom" align="left" height="80%">
                <panel id="GPanel3" childLayout="vertical" width="405px" x="368" y="45" height="408px">
                    <panel id="GPanel4" childLayout="vertical" width="100%" style="nifty-panel-simple" align="right" height="60px"/>
                </panel>
            </panel>
        </layer>
    </screen>
</nifty>

Jun 13, 2016 10:43:42 AM de.lessvoid.nifty.render.NiftyMouseImpl registerMouseCursor
WARNING: Your RenderDevice does not support the createMouseCursor() method. Mouse cursors can't be changed.
Jun 13, 2016 10:43:42 AM de.lessvoid.nifty.render.NiftyMouseImpl registerMouseCursor
WARNING: Your RenderDevice does not support the createMouseCursor() method. Mouse cursors can't be changed.
Jun 13, 2016 10:43:42 AM de.lessvoid.nifty.loaderv2.types.ScreenType create
WARNING: Missing ScreenController for screen [GScreen1] using DefaultScreenController() instead but this might not be what you want.
Jun 13, 2016 10:43:42 AM jada.ngeditor.controller.GUIEditor$Reload perform
SEVERE: null
java.lang.RuntimeException: java.lang.IllegalArgumentException: input == null!
at de.lessvoid.nifty.Nifty.loadFromStream(Nifty.java:632)

Clicking on screen

Clincking on a screen without layers causes a NullpointerException in ada.ngeditor.model.GUI.getAllChild(GUI.java:198) .

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.