Details

    • Type: New Feature New Feature
    • Status: Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 3.0
    • Component/s: wtk
    • Labels:
      None
    1. WtkxBrowser.PNG
      21 kB
      Dmitry Mamonov
    2. WtkxBrowser0.0.1.zip
      2.07 MB
      Dmitry Mamonov

      Activity

      Hide
      Dominique De Vito added a comment -

      You might be interested to know the XWT Designer :
      http://dev.eclipse.org/blogs/yvesyang/2009/11/02/xwt-designer/

      Show
      Dominique De Vito added a comment - You might be interested to know the XWT Designer : http://dev.eclipse.org/blogs/yvesyang/2009/11/02/xwt-designer/
      Hide
      Dmitry Mamonov added a comment -

      GUI Bulder is good and usefull thing but it is also hard to implement.

      I have another solution named "WtkxBrowser", I will explain:

      The main idea is to make application which will display wtkx files same as
      web browser displays html files. But it difference from web-browsers
      such application should monitor changes in wtkx files.
      So displaying content will be updated automatically, so it will be no need in "refresh" button.

      Programmer may open wtkx file in wtkx-browser, and see how it looks like currently,
      after that he can change content of some wtkx-file and switch back to browser where
      changes will be displayed immediately. And once again, and again.

      If some error in occured in wtkx content, then stacks trace will be displayed
      in Pivot.Display.

      ---------------
      I have developed demo application (I will attach zip with jar and sources, and screenshot),
      It's sure not a production quality code. It's also partially developed on swing. But it is a demo.

      Is it interesting?

      Show
      Dmitry Mamonov added a comment - GUI Bulder is good and usefull thing but it is also hard to implement. I have another solution named "WtkxBrowser", I will explain: The main idea is to make application which will display wtkx files same as web browser displays html files. But it difference from web-browsers such application should monitor changes in wtkx files. So displaying content will be updated automatically, so it will be no need in "refresh" button. Programmer may open wtkx file in wtkx-browser, and see how it looks like currently, after that he can change content of some wtkx-file and switch back to browser where changes will be displayed immediately. And once again, and again. If some error in occured in wtkx content, then stacks trace will be displayed in Pivot.Display. --------------- I have developed demo application (I will attach zip with jar and sources, and screenshot), It's sure not a production quality code. It's also partially developed on swing. But it is a demo. Is it interesting?
      Hide
      Dmitry Mamonov added a comment -

      WtkxBrowser demo app with sources and screenshot.

      Show
      Dmitry Mamonov added a comment - WtkxBrowser demo app with sources and screenshot.
      Hide
      Dmitry Mamonov added a comment -

      I have implemented WtkxBrowser in pivot-1.4, see project page http://code.google.com/p/wtkxbrowser/

      I have intended to implement it like real browser to make user to feel comfortable, accustomed.
      At least it was intention.

      How it works:
      1. Each browser-tab has it's own "model" - list of files.
      2. For currently displayed tab - list of files is polling, and if some change in files data catched then tab redisplayed.
      3. Apllication state is persistent berween runs. Session data is storeid into WtkxBrowserSession.json file in "." directry.

      Thing which not works yet:
      1. width/height fields is not used yet, the idea was to make tab-panal size of specifies width/height size,
      but I'm not sure if it is really useful.
      2. Message "Please select..." is not appeared time to time, e.g. when switching from one empty tab to another,
      or when first empty tab displayed.
      3. WTKX files with resources, e.g. ImageData, is not displaying correctly.

      Extra dependencies:
      1. commons-io-1.4 is used to read and write files data


      Remarks please

      Show
      Dmitry Mamonov added a comment - I have implemented WtkxBrowser in pivot-1.4, see project page http://code.google.com/p/wtkxbrowser/ I have intended to implement it like real browser to make user to feel comfortable, accustomed. At least it was intention. How it works: 1. Each browser-tab has it's own "model" - list of files. 2. For currently displayed tab - list of files is polling, and if some change in files data catched then tab redisplayed. 3. Apllication state is persistent berween runs. Session data is storeid into WtkxBrowserSession.json file in "." directry. Thing which not works yet: 1. width/height fields is not used yet, the idea was to make tab-panal size of specifies width/height size, but I'm not sure if it is really useful. 2. Message "Please select..." is not appeared time to time, e.g. when switching from one empty tab to another, or when first empty tab displayed. 3. WTKX files with resources, e.g. ImageData, is not displaying correctly. Extra dependencies: 1. commons-io-1.4 is used to read and write files data Remarks please
      Hide
      Dmitriy Mayboroda added a comment -

      I agree with Dmitry Mamonov,
      GUI Builder it's really hard to implement, so it's better not to waste time on that.

      Better to implement audio/video streaming player

      Show
      Dmitriy Mayboroda added a comment - I agree with Dmitry Mamonov, GUI Builder it's really hard to implement, so it's better not to waste time on that. Better to implement audio/video streaming player
      Hide
      Anthony J. Bufort added a comment -

      I think a GUI builder would be great, but it sure would be time-consuming to implement. The danger with any sort of WYSIWYG implementation, in my opinion, is the coupling between the code and the rendering. It's very easy to drop and drag components and set their properties, but it's also easy to change actual code and mess up the rendering, screwing up the relationship (witness NetBeans and the don't-touch-this, don't-touch-that notations all over the place). The best IDE I have ever seen/used for this to date was Delphi 7! Excellent integrity maintained between the rendering and the generated code. Altering the rendering created neat, efficient code, and altering the code created corresponding changes in the rendering which were accurate. It was robust, awesome, and a joy to use.

      Show
      Anthony J. Bufort added a comment - I think a GUI builder would be great, but it sure would be time-consuming to implement. The danger with any sort of WYSIWYG implementation, in my opinion, is the coupling between the code and the rendering. It's very easy to drop and drag components and set their properties, but it's also easy to change actual code and mess up the rendering, screwing up the relationship (witness NetBeans and the don't-touch-this, don't-touch-that notations all over the place). The best IDE I have ever seen/used for this to date was Delphi 7! Excellent integrity maintained between the rendering and the generated code. Altering the rendering created neat, efficient code, and altering the code created corresponding changes in the rendering which were accurate. It was robust, awesome, and a joy to use.
      Hide
      Greg Brown added a comment -

      I agree that generated code is generally not pretty to work with. However, I imagine that a hypothetical Pivot GUI builder would probably generate WTKX, which only defines structure (no code). This would make it much less fragile.

      Show
      Greg Brown added a comment - I agree that generated code is generally not pretty to work with. However, I imagine that a hypothetical Pivot GUI builder would probably generate WTKX, which only defines structure (no code). This would make it much less fragile.
      Hide
      Vicente de Rivera III added a comment -

      @greg, how about Google's (purchased & open-sourced) WindowBuilderPro?
      WindowBuilderPro does not generate anything, it directly parses your code

      Show
      Vicente de Rivera III added a comment - @greg, how about Google's (purchased & open-sourced) WindowBuilderPro? WindowBuilderPro does not generate anything, it directly parses your code
      Hide
      Sandro Martini added a comment -

      Note that Pivot Developers are not only Greg ...

      From what I see here http://code.google.com/intl/it-IT/javadevtools/wbpro/wizards/index.html , seems that it supports many view technologies (SWT, Swing, etc), but not Pivot and not AWT ... but note that currently all Pivot graphics/drawing functions are based on AWT (and even if it was supported probably it would be possible to use only AWT old components), so I don't think it will be possible to use it now.
      Maybe in the future (could be Pivot 3), if we will be able/have enough users interest (and development power) to abstract those functions and provide one or more graphics backend, for example new generation mobile platforms of course.

      Show
      Sandro Martini added a comment - Note that Pivot Developers are not only Greg ... From what I see here http://code.google.com/intl/it-IT/javadevtools/wbpro/wizards/index.html , seems that it supports many view technologies (SWT, Swing, etc), but not Pivot and not AWT ... but note that currently all Pivot graphics/drawing functions are based on AWT (and even if it was supported probably it would be possible to use only AWT old components), so I don't think it will be possible to use it now. Maybe in the future (could be Pivot 3), if we will be able/have enough users interest (and development power) to abstract those functions and provide one or more graphics backend, for example new generation mobile platforms of course.

        People

        • Assignee:
          Unassigned
          Reporter:
          Greg Brown
        • Votes:
          4 Vote for this issue
          Watchers:
          2 Start watching this issue

          Dates

          • Created:
            Updated:

            Development