The Artima Developer Community
Sponsored Link

Agile Buzz Forum
The Near Future

0 replies.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a flat view of this topic  Flat View
Previous Topic   Next Topic
Threaded View: This topic has 0 replies on 1 page
James Robertson

Posts: 29924
Nickname: jarober61
Registered: Jun, 2003

David Buck, Smalltalker at large
The Near Future Posted: Dec 17, 2003 11:20 AM
Reply to this message Reply

This post originated from an RSS feed registered with Agile Buzz by James Robertson.
Original Post: The Near Future
Feed Title: Pollock
Feed URL: http://www.cincomsmalltalk.com/rssBlog/pollock-rss.xml
Feed Description: Pollock - the next VW GUI
Latest Agile Buzz Posts
Latest Agile Buzz Posts by James Robertson
Latest Posts From Pollock

Well, now that I've rested up from the long week of VisualWorks Planning meetings, it's time to reveal the future. There are two parts (and we'll see if it ends up as separate posts). First, there is the near future, which covers the "Big Plans" I have for Pollock. Then there is "After That", which covers plans we in the Engineering Team have for the GUI after Pollock is settled in.

The Near Future

This is all about what I hope to provide for Pollock after Production 1. Let's look at some specific widget/model capabilities I'm dreaming about

TextEdit / AdvancedText

    First off, I should point out (again) what we hope to have for Production 1. We hope that we'll have the ability to save formatted text as XML. This XML will be simply an extreme subset of HTML. It will have the standard Bold (<b>), Italic (<i>), Underline (<u>), Strikeout (<s>) tags, it will use the "Font" tag for color (<font color="colorName">). Finally, we'll make tags for small, large, serif and sansSerif as themselves (<small>), (<large>), (<serif>) and (<sanSerif>).

    There will be an API on the new AdvancedText (Pollock's version of Text) that will allow you to turn a Text into an XMLized string. This will be then easily stored and read from a file. The TextEdit will get a new feature to support this. You will be able to send #editAsXML to the TextEdit, and the current text will then display in a "no emphasis" mode, where you will see the "raw" underlying version of the text in XML mode. Then, by sending #editAsText to the TextEdit, you'll be able to see the result.

    Once we have this feature, the rest of the planned features are just a hop and a skip away. First, we want to be able to allow you to specify a Block associated with a "run" of text. In the XML form, it may look something like:

      some text <block value="[MyApplication open]">open the application</block> some other text

    Which then when viewed in "editAsText" mode, will look something like:

      some text open the application some other text

    You'll also be able to supply help text that is shown when the user flys over the block text: <block value="[Block]" help="Help Text">.

    Never let it be said that we won't be flexible. You will be able to either specify a no parameter block, as the one above, or a one parameter block, where the parameter passed to the block will be the UserInterface instance hosting the TextEdit.

    Down the line, I also hope to be able to support the ability to have an in line image displayed. But don't EVER worry about having to manage this as XML. No, when you're working with the new AdvancedText, it will behave just like a Text, with runs of "attributes." We'll just be adding a #block and #blockHelp attribute (and eventually, that #image attribute).

Toolbar & Toolbar Panes

    We currently have a pretty good group of Toolbar functionality and Toolbar Panes, but we're not done. First, I want to add a CheckBox Toolbar Pane (with an optional label). Then, I want to add the final bits to the existing Toolbar Buttons. First, I want to support "toggle" mode for Toolbar Buttons. You know, like the "Bold" and "Italic" buttons in most text editors. Then I want to support "Grouped" Buttons. This will represent the ability to have multiple Toolbar buttons act like a set of Radio Buttons, such as you see in word processors for left center and right justification. Finally, we'll support a separate "Pressed" image. This will allow you to supply a different image to show when the button is "toggled" on if you wish.

Grid

    I have a LOT of plans for the Grid. First off, we'll be adding support for other kinds of Panes in a Grid's cell. Like a Button, SpinButton, MenuButton and DisplayImage. Then, we'll go whole hog. We'll add support for any widget to be in a Cell. Let's consider what this means. A Form is a widget. A Form is a combination of other widgets. Get it? You will be able to specify a whole Form, in a Grid's cell. But I'm not done there yet.

    We'll add the ability to specify a Tree as the first column. This will allow you to emulate Explorer type windows

    We'll add the ability for a Cell to have a TextEdit. When we add this feature, we'll allow you to specify the maximum number of text lines to show in a TextEdit before scrollbars are shown. With this, you can have a Grid row, that grows as you add text, until it reaches a maximum, and then starts scrolling in that cell. We might add a "Smart" List and TreeView cell too. Oh, and maybe a Grid (why not?)

    The Grid will support three separate views for any cell/row. One will be the "unselected" view, one will be the "selected" view, and one will be the "editing" view. The Grid already has part of this in place, but not surfaced as yet to the developer. This is because in fact, an "InputField" cell is really a DisplayLabel when it is not in "editing" view. With all these capabilities you can do amazing things. For instance, you can emulate the "Add/Remove Programs" List/Grid from Windows XP.

CheckBox

    We will eventually support the notion of "ambiguous" select mode. This is what you see in Explorer when you select multiple files that have different file attributes (such as Read Only) and open the "Properties" dialog on your selections. You'll see a check box with a grayed check and colored fill.

SpinButton

    As it stands, the SpinButton is pretty complete. But what I would like to add is the ability to highlight an part of the input in a SpinButton and when the Up/Down buttons are pressed, only THAT part of the input is incremented / decremented. This will be especially useful feature for when you have a SpinButton with a Time or Date (or Timestamp) value.

FlyBy Help

    Right now, there is no FlyBy help. But when we do have it, it will be really full blown. Not only will we have simple help for flying over buttons and for "Hypertext" text, but we'll turn it all the way on, including the "show full line in help" for Lists, TreeViews and Grids when the item you are flying over isn't fully visible because it is cut off by the edge of the widget. We'll allow you to do things like specify separate fly by help for each tab in the TabControl. Finally, we'll allow all of these to be fully dynamic, allowing you to supply the help from your UserInterface, such that it can change (like, supply the current time or date).

Sometime down the road, before we get to the "After That" timeframe, I want to add one more new widget: IconView. This will do the four list display modes that the rest of the widgets don't support: Large and Small icon view, List Icon view and Thumbnail view.

I have a couple more dreams before I move onto "After That." One is to allow drag-dockable Toolbars to the left, right and bottom of a window, as well as the draggable/attachable Toolbars that we see in Windows. I also want to be able to have "On Top" Toolbar panes, and the ability to undock a Toolbar into one of these.

Another dream is to have Native Dialog support (Open/Close/Save, etc.) for MacOSX, just like we do for Windows. And to do native "Message Box" type dialogs in Windows.

Finally, there are a bunch of things that just HAVE to be in Pollock before we can officially retire Wrapper. These include a version of our current Business Graphics (Charts) widgets, an XP (and maybe .NET) Look & Feel, and of course, a full set of Tools (UI Painter, Menu Editor, Toolbar Editor, HotKey Editor) and Utilities as mentioned in the last post

So, don't worry about me not having enough to do over the next several years. And just in case you did, in the next post, I'll talk about our dreams for our Post-Pollock future

And So It Goes
Sames

Read: The Near Future


Topic: What to expect if I ever get arrested Previous Topic   Next Topic Topic: e-government in action

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use