Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   Customizable Dashboard (http://www.chiefdelphi.com/forums/showthread.php?t=80561)

slavik262 07-02-2010 00:32

Re: Customizable Dashboard
 
The designer mode is 90% done. Features that are done and working
  • Change any color on any control, along with all other properties of the control in a fully working properties bar.
  • Snap-to-alignment control movement (if a control is within a few pixels of being lined up with another, it will snap into alignment and a line is drawn between the two controls to show you that they are aligned. This system works just like the one in Visual Studio, if you've ever used it).
  • Ability to multi-select controls and move them all at once.
  • Holding shift while resizing locks the aspect ratio of the control.

I still have to:
  • Add a menu for the designer.
  • Add a few scroll bars.
  • Save/load ability. All properties of each control are already stored in structs. All I have to do is iterate through all controls on the form and save the structs to a file (and do the opposite for loading).
  • Create my UI element that binds each control to a part of the packet.
  • Use these bindings to update the controls during run mode.

Right now the only implemented control is a meter. However, I'm using an Object-oriented design, and most of the code for the meter is common to all controls and is contained in a base class from which all the other controls can be derived.

Would you guys like some screenshots and the code I have so far?

Stimpy1901 07-02-2010 04:23

Re: Customizable Dashboard
 
Quote:

Originally Posted by slavik262 (Post 914926)
Would you guys like some screenshots and the code I have so far?

Yes, please! Thanks!

Kingofl337 07-02-2010 09:26

Re: Customizable Dashboard
 
This should be great!

slavik262 07-02-2010 21:49

Re: Customizable Dashboard
 
I'll get some screenshots out in a day or two when I have a bit more to show you.

Radical Pi 07-02-2010 22:01

Re: Customizable Dashboard
 
Awesome! I'll be giving this thing a spin as soon as I can!

On a secondary note, are you planning any functionality to process data inputs before being displayed? Our current dashboard needs a bit of calculation before it can be displayed on the classmate and I wouldn't want to tie up processing time on the cRIO

slavik262 07-02-2010 23:03

Re: Customizable Dashboard
 
Quote:

Originally Posted by Radical Pi (Post 915430)
On a secondary note, are you planning any functionality to process data inputs before being displayed? Our current dashboard needs a bit of calculation before it can be displayed on the classmate and I wouldn't want to tie up processing time on the cRIO

Explain what you mean by "process data" please.

Tanner 09-02-2010 05:56

Re: Customizable Dashboard
 
Quote:

Originally Posted by slavik262 (Post 915484)
Explain what you mean by "process data" please.

Think he means that he needs to put the data from the robot through a few functions to get the results he needs and he'd rather not do that on the cRIO.

Not sure if doing it on a netbook is a better choice though.

-Tanner

slavik262 09-02-2010 10:54

Re: Customizable Dashboard
 
As of right now, the dashboard won't do any processing on the data. It will feed what it gets from the network packets straight into the controls. However, the meter for example, is not bound to a range of 0 to 1. You can set your own minimum and maximum values. That way, you don't have to do any scaling cRIO side.

slavik262 11-02-2010 23:31

Re: Customizable Dashboard
 
Both me (and the project) are still alive. I haven't posted because I've been so busy getting things done. ;) Our robotics team is going to get some major hours in this weekend. Expect a big update then.

davidthefat 11-02-2010 23:44

Re: Customizable Dashboard
 
If I were you, do it in OpenGL for multiplatforming

EthanMiller 12-02-2010 00:32

Re: Customizable Dashboard
 
Looking forward to it!

slavik262 12-02-2010 07:08

Re: Customizable Dashboard
 
Quote:

Originally Posted by davidthefat (Post 918333)
If I were you, do it in OpenGL for multiplatforming

I can switch renderers with a single line of code, but all my networking functionality is using the Windows Socket Library, so the first few releases at least will be Windows only.

TheDominis 12-02-2010 07:23

Re: Customizable Dashboard
 
You could use boost's socket library.

slavik262 12-02-2010 09:32

Re: Customizable Dashboard
 
Quote:

Originally Posted by TheDominis (Post 918427)
You could use boost's socket library.

After the initial release I'll go back and do all the cool stuff like multiplatforming. Right now I'm just focusing on getting it out to you guys before the competitions.

slavik262 15-02-2010 23:19

Re: Customizable Dashboard
 


Like what you see?

Features to note:
  • Auto-alignment: Notice how the selected control (on the left) has lines being drawn to all controls that line up to it (top bottom, and center. The sides also line up if there are controls above or below it). When you get within a few pixels of being aligned with another control, your selected control instantly snaps into place
  • Control options: See all the options in the "Properties" bar? You can change every single one, for every single control. They're saved in your dashboard file so that when you load up and run your dashboard, everything is just how you want it.
  • Packet data bar: While not complete yet, notice the "Packet Data" bar at the bottom? Add and remove controls as much as you want. Change where they get their data in the packets from the robot. Unlike other dashboards you've seen floating around on Chief Delphi, you can change around your dashboard without ever touching the dashboard source. Just drag and drop your controls onto the screen, and drag and drop their data sources into the "User Data Byte" bar. Yes, the data sources will be labeled soon.
  • High performance: See the number in the upper left-hand corner? That's how many times per second the controls are being drawn. Granted, I'm cheating by running this on my gaming PC, but welcome to the power of C++ and hardware rendering via DirectX or OpenGL (you choose). What does this mean to you? A fast running editor, and an even faster running display when you switch to display mode (which, by the way, is in full screen). No need to worry about frameworks slowing you down on low-end PCs and laptops.

As you can see, I still have a bit to go, but I thought I'd give you guys a sneak peek for being so patient. I promise you all that this will be well worth the wait. ;)


All times are GMT -5. The time now is 21:23.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi