<div dir="ltr"><div>Hi everyone.</div><div><br></div><div>Before I send some code base on codereview and decide whether my implementation meets the requirements,  I  just want to know your thoughts about design decision for the new module I’m trying to add to Qt Play ground.</div><div><br></div><div>So as you probably guessed my plan is to developing a new widget module (which I’m going to name it MaterialWidgets) for Qt, a modern collection of widgets that should have the same look and feel on all platforms. All the GUI parameters and styles are taken from material style guide line(<a href="https://material.io/guidelines">https://material.io/guidelines</a>). You can think of MaterialWidgets as the MaterialStyle in QML design but in pure C++.</div><div><br></div><div>Here is a few things to clarify:</div><div>1.Why someone need to use material styled widgets in Qt?</div><div>There are a bunch of app out there that need this to be available on widgets so they can easily take the benefit of newly added widget set.</div><div><br></div><div>2.Why a new widget set? why just no to use already built-in styles?</div><div>Material widgets are going to be a special set of controls which has animations by default, and GUI parameters are differs from built-in QtWidgets. for an example material style has a component called ContinuousSlider which has two sub component Thumb and Track and two state On(value == 0) and Off(value != 0) and a color palette for each state, so doing this with styles can't be done unless we change the enumerators and maybe more!</div><div><br></div><div>3.Are every thing from scratch ?</div><div>No. not at all.</div><div>I just make some changes in inherited classes from built-in QtWidgets (basics AND abstracts), so the logics behind those widgets should be the same.</div><div><br></div><div>A note for animation implementation  in MaterialWidgets: </div><div>A class called Animation is responsible for animating those widgets, the simple idea behind that is to have a target object (which mostly is a widget) associated with animation objet and after every refresh in animation (updateCurrentValue) we should make an update of type StyleAnimationUpdate in target widget so it makes the code base more cleaner.</div><div><br></div><div>Here you can see just a review version of module (just ContinuousSlider is included): ​<br><div class="gmail_chip gmail_drive_chip" style="width:396px;height:18px;max-height:18px;background-color:#f5f5f5;padding:5px;color:#222;font-family:arial;font-style:normal;font-weight:bold;font-size:13px;border:1px solid #ddd;line-height:1"><a href="https://drive.google.com/file/d/0BxRSkzkLrTjVeS1xd0VRMHJQS0k/view?usp=drive_web" target="_blank" style="display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none;padding:1px 0px;border:none;width:100%"><img style="vertical-align: bottom; border: none;" src="https://ssl.gstatic.com/docs/doclist/images/icon_10_generic_list.png"> <span dir="ltr" style="color:#15c;text-decoration:none;vertical-align:bottom">qtmaterialwidgets.zip</span></a></div>​</div><div><br></div><div>I'm ready to hear your advices and thoughts.</div><div><br></div><div>Regards</div><div>Iman.</div></div>