diff --git a/bazaar/Controls4U_Demo/Controls4U_Demo.h b/bazaar/Controls4U_Demo/Controls4U_Demo.h index 893234be6..bc910e8fe 100644 --- a/bazaar/Controls4U_Demo/Controls4U_Demo.h +++ b/bazaar/Controls4U_Demo/Controls4U_Demo.h @@ -51,14 +51,19 @@ public: void ChangeProperties(); }; -class Miscellaneous_Demo : public WithMiscellaneous { +class Functions4U_Demo : public WithFunctions4U { public: - typedef Miscellaneous_Demo CLASSNAME; - Miscellaneous_Demo(); + typedef Functions4U_Demo CLASSNAME; + Functions4U_Demo(); void OnDiff(); void OnPatch(); }; +class DrawingCanvas_Demo : public WithDrawingCanvas { +public: + typedef DrawingCanvas_Demo CLASSNAME; + DrawingCanvas_Demo(); +}; class Controls4U_Demo : public WithMain { public: @@ -70,8 +75,10 @@ public: StaticCtrlsTest_Demo staticCtrlsTest_Demo; StaticClock_Demo staticClock_Demo; Meter_Demo meter_Demo; + JBControlsDemo jbcontrols_Demo; FileBrowser_Demo fileBrowser_Demo; - Miscellaneous_Demo miscellaneous_Demo; + Functions4U_Demo functions4U_Demo; + DrawingCanvas_Demo drawingCanvas_Demo; #if defined(PLATFORM_WIN32) Firefox_Demo firefox_Demo; IExplorer_Demo iexplorer_Demo; diff --git a/bazaar/Controls4U_Demo/Controls4U_Demo.lay b/bazaar/Controls4U_Demo/Controls4U_Demo.lay index 7dd9e3597..78116cf36 100644 --- a/bazaar/Controls4U_Demo/Controls4U_Demo.lay +++ b/bazaar/Controls4U_Demo/Controls4U_Demo.lay @@ -22,9 +22,9 @@ LAYOUT(FileBrowser, 424, 332) ITEM(Label, dv___3, SetLabel(t_("Selected:")).HSizePosZ(4, 372).BottomPosZ(5, 19)) END_LAYOUT -LAYOUT(Miscellaneous, 444, 268) +LAYOUT(Functions4U, 444, 268) ITEM(LabelBox, dv___0, SetLabel(t_("Compare files")).LeftPosZ(4, 436).TopPosZ(4, 144)) - ITEM(Label, dv___1, SetLabel(t_("Get patch: It gets a \"Path\" file with the differences between \"Original\" and \"New\"\nApply patch: It gets the \"New\" file by applying to \"Original\" the differences in \"Patch\"\n\"Patch\" file may be much smaller than \"Original\" or \"New\" files as only contains the\ndifferences between them")).LeftPosZ(8, 424).TopPosZ(84, 56)) + ITEM(Label, dv___1, SetLabel(t_("Get patch: It gets a \"Patch\" file with the differences between \"Original\" and \"New\"\nApply patch: It gets the \"New\" file by applying to \"Original\" the differences in \"Patch\"\n\"Patch\" file may be much smaller than \"Original\" or \"New\" files as only contains the\ndifferences between them")).LeftPosZ(8, 424).TopPosZ(84, 56)) ITEM(Label, dv___2, SetLabel(t_("New:")).LeftPosZ(8, 40).TopPosZ(40, 19)) ITEM(Label, dv___3, SetLabel(t_("Patch:")).LeftPosZ(8, 40).TopPosZ(60, 19)) ITEM(Label, dv___4, SetLabel(t_("Original:")).LeftPosZ(8, 40).TopPosZ(20, 19)) @@ -160,3 +160,10 @@ LAYOUT(StaticCtrls, 512, 416) ITEM(Label, dv___22, SetLabel(t_("PainterSvg")).SetAlign(ALIGN_CENTER).SetFont(StdFontZ(14).Bold()).LeftPosZ(276, 116).TopPosZ(304, 19)) END_LAYOUT +LAYOUT(DrawingCanvas, 700, 596) + ITEM(DrawingCanvas, drawingCanvas, HSizePosZ(540, 4).VSizePosZ(24, 4)) + ITEM(ImgCtrl, imgCtrl, LeftPosZ(4, 532).VSizePosZ(24, 4)) + ITEM(Label, dv___2, SetLabel(t_("DrawingCanvas")).LeftPosZ(540, 84).TopPosZ(4, 19)) + ITEM(Label, dv___3, SetLabel(t_("ImgCtrl")).LeftPosZ(4, 84).TopPosZ(4, 19)) +END_LAYOUT + diff --git a/bazaar/Controls4U_Demo/Controls4U_Demo.upp b/bazaar/Controls4U_Demo/Controls4U_Demo.upp index 6268c63ad..118a7ff6a 100644 --- a/bazaar/Controls4U_Demo/Controls4U_Demo.upp +++ b/bazaar/Controls4U_Demo/Controls4U_Demo.upp @@ -15,7 +15,11 @@ file Controls4U_Demo.lay, Controls4U_Demo_win.lay, Controls4U_Demo.iml, - Credits.txt; + Credits.txt, + JBControls readonly separator, + JBControls.cpp, + JBControlsDemo.h, + JBControlsDemo.lay; mainconfig "" = "GUI MT", diff --git a/bazaar/Controls4U_Demo/JBControls.cpp b/bazaar/Controls4U_Demo/JBControls.cpp new file mode 100644 index 000000000..4a7aa80c5 --- /dev/null +++ b/bazaar/Controls4U_Demo/JBControls.cpp @@ -0,0 +1,58 @@ +#include "JBControlsDemo.h" + +JBControlsDemo::JBControlsDemo() +{ + CtrlLayout(*this); +// PromptOK("Layout Ok"); + progress.Percent(true); + progress.Set(~slider,100); +// jbstar.Percent(true); +// jbstar2.Percent(true); + jbstar.Set(~slider,100); + jbstar2.Set(~slider,100); + jbstar.SetFontColor(Red); + jbstar2.SetFontColor(Black); + + jbstar.ShowVotes(true); + jbstar2.ShowVotes(true); + + jbstar.SetVotes(~slider2); + jbstar2.SetVotes(~vslider); + +// slider.SetValue(25); +// slider2.SetValue(55); +// vslider.SetValue(33); + + slider <<= THISBACK(Slide); + slider2 <<= THISBACK(Slide2); + vslider <<= THISBACK(VSlide); + novotes <<= THISBACK(NoVotes); +} + +void JBControlsDemo::NoVotes() +{ + if (novotes.GetData()) jbstar2.SetVotes(-1); + else jbstar2.SetVotes(~vslider); +} + +void JBControlsDemo::Slide() +{ + meter.SetData(~slider); + progress.Set(~slider,100); + indic.SetData(~slider); + jbstar.Set(~slider,100); + jbstar2.Set(~slider,100); +} + +void JBControlsDemo::Slide2() +{ + meter2.SetData(~slider2); + jbstar.SetVotes(~slider2); +} + +void JBControlsDemo::VSlide() +{ + vindic.SetData(~vslider); + if (novotes.GetData()==false) jbstar2.SetVotes(~vslider); +} + diff --git a/bazaar/Controls4U_Demo/JBControlsDemo.h b/bazaar/Controls4U_Demo/JBControlsDemo.h new file mode 100644 index 000000000..c1f8fa6a5 --- /dev/null +++ b/bazaar/Controls4U_Demo/JBControlsDemo.h @@ -0,0 +1,23 @@ +#ifndef _JBControlsDemo_JBControlsDemo_h +#define _JBControlsDemo_JBControlsDemo_h + +#include +#include + +using namespace Upp; + +#define LAYOUTFILE +#include + +class JBControlsDemo : public WithJBControlsDemoLayout { +public: + typedef JBControlsDemo CLASSNAME; + JBControlsDemo(); + void NoVotes(); + void Slide(); + void Slide2(); + void VSlide(); +}; + +#endif + diff --git a/bazaar/Controls4U_Demo/JBControlsDemo.lay b/bazaar/Controls4U_Demo/JBControlsDemo.lay new file mode 100644 index 000000000..86db97959 --- /dev/null +++ b/bazaar/Controls4U_Demo/JBControlsDemo.lay @@ -0,0 +1,14 @@ +LAYOUT(JBControlsDemoLayout, 456, 432) + ITEM(SliderCtrlX, slider, FillColor(Color(255, 85, 0)).SetThickness(3).SetThumbType(4).Jump(true).LeftPosZ(63, 330).TopPosZ(220, 52)) + ITEM(ProgressIndicator, progress, LeftPosZ(62, 331).TopPosZ(124, 24)) + ITEM(Meter, meter, SetAngleBegin(120).SetAngleEnd(60).LeftPosZ(64, 160).TopPosZ(12, 108)) + ITEM(SliderCtrlX, slider2, SetMaxi(150).SetMinorTicks(5).SetMajorTicksSize(40).SetMinorTicksSize(25).SetThumbType(2).Step(10).SetFrame(InsetFrame()).LeftPosZ(8, 340).TopPosZ(280, 48)) + ITEM(Meter, meter2, SetMax(150).SetPeak(120).SetStep(30).SetColorType(1).LeftPosZ(228, 162).TopPosZ(12, 108)) + ITEM(SliderCtrlX, indic, SetSliderType(1).FillColor(Color(56, 255, 200)).SetThickness(5).SetThumbType(0).SetFrame(OutsetFrame()).LeftPosZ(62, 332).TopPosZ(156, 52)) + ITEM(SliderCtrlX, vslider, SetInverted(true).FillColor(Yellow).LeftPosZ(8, 44).TopPosZ(12, 260)) + ITEM(SliderCtrlX, vindic, SetSliderType(1).FillColor(Color(200, 255, 56)).SetTickPosition(3).SetThickness(5).SetThumbType(0).LeftPosZ(404, 44).TopPosZ(12, 260)) + ITEM(StarIndicator, jbstar, LeftPosZ(78, 300).TopPosZ(336, 60)) + ITEM(StarIndicator, jbstar2, SetVotesHigh(80).SetVotesLow(15).LeftPosZ(174, 108).TopPosZ(404, 20)) + ITEM(Option, novotes, SetLabel(t_("Undefined number of votes")).LeftPosZ(288, 152).TopPosZ(408, 16)) +END_LAYOUT + diff --git a/bazaar/Controls4U_Demo/init b/bazaar/Controls4U_Demo/init index c49df964d..a81735de7 100644 --- a/bazaar/Controls4U_Demo/init +++ b/bazaar/Controls4U_Demo/init @@ -5,4 +5,5 @@ #include "plugin\gif/init" #include "plugin\jpg/init" #include "plugin\tif/init" +#include "GridCtrl/init" #endif diff --git a/bazaar/Controls4U_Demo/main.cpp b/bazaar/Controls4U_Demo/main.cpp index 55a27ec3c..436b34640 100644 --- a/bazaar/Controls4U_Demo/main.cpp +++ b/bazaar/Controls4U_Demo/main.cpp @@ -7,6 +7,7 @@ using namespace Upp; #if defined(PLATFORM_WIN32) #include "Controls4U_Demo_win.h" #endif +#include "JBControlsDemo.h" #include "Controls4U_Demo.h" #define IMAGEFILE @@ -24,17 +25,21 @@ Controls4U_Demo::Controls4U_Demo() { tab.Add(iexplorer_Demo.SizePos(), "Internet Explorer ActiveX"); #endif tab.Add(meter_Demo.SizePos(), "Meter & Knob"); + tab.Add(jbcontrols_Demo.SizePos(), "JBControls"); tab.Add(staticClock_Demo.SizePos(), "StaticClock"); tab.Add(editFileFolder_Demo.SizePos(), "StaticImage & EditFile/Folder"); tab.Add(staticCtrls_Demo.SizePos(), "Static Controls"); tab.Add(staticCtrlsTest_Demo.SizePos(), "Static Controls Test"); - tab.Add(miscellaneous_Demo.SizePos(), "Miscellaneous functions"); + tab.Add(drawingCanvas_Demo.SizePos(), "DrawingCanvas (experimental)"); + tab.Add(functions4U_Demo.SizePos(), "Functions4U samples"); - tab.Set(tab.Find(meter_Demo)); // Select the last + tab.Set(tab.Find(jbcontrols_Demo)); // Select the last + //tab.Set(tab.Find(drawingCanvas_Demo)); // Select the last timerOn = false; SetTimeCallback(-100, THISBACK(Timer)); } + void Controls4U_Demo::Timer() { if (timerOn) return; @@ -48,11 +53,7 @@ void Controls4U_Demo::Timer() { #endif } -//String GetTrashBinDirectory(); - GUI_APP_MAIN { - /*GetTrashBinDirectory(); - return;*/ Controls4U_Demo().Run(); } @@ -195,18 +196,19 @@ void FileBrowser_Demo::FileOpened() { void FileBrowser_Demo::ChangeProperties() { } -Miscellaneous_Demo::Miscellaneous_Demo() { +Functions4U_Demo::Functions4U_Demo() { CtrlLayout(*this); String myqtf; - QtfRichObject a = QtfEquation("(2/3)"); - QtfRichObject b = QtfEquation("integral(sqrt(cos(phi_ini^2)) + i^2 + 6, i = 1, 10)*dx = cos((27+x^2)^3.25)/(PI*R_0^2)"); + QtfRichObject a = QtfEquation("-sqrt(2/3)"); + QtfRichObject b = QtfEquation("integral(-sqrt(cos(phi_ini^2)) + i^2 + 6, i = 1, 10)*dx = cos((27+x^2)^3.25)/(PI*R_0^2)"); QtfRichObject c = QtfEquation("delta_i = a+b*x+c*x^2+d*x^3"); - QtfRichObject d = QtfEquation("sqrt(cos(phi_ini^2))"); + QtfRichObject d = QtfEquation("sqrt(cos(p^2))"); QtfRichObject e = QtfEquation("summation(a+b*x+c*x^2+d*x^3, x = h, h+1)*dx = SI_h"); + QtfRichObject f = QtfEquation("exp(-1/2*(b-r)/a*t)*r*a*(d*b*w^2*a+d*r*w^2*a-d*r*c+d*b*c+2*f1*w*a*c)/((2*w^2*a)^2+b^2-2*c*a-b*r)"); - myqtf << "[ {{10000 [s0;= This feature is experimental]}}]&[R3 This are some formulas in QTF:&" << a << "&" << b << "&" << c << "&" << d << "&" << e; + myqtf << "[R3 This are some formulas in QTF:&" << a << "&" << b << "&" << c << "&" << d << "&" << e << "&" << f; equation.SetData(myqtf); @@ -214,12 +216,25 @@ Miscellaneous_Demo::Miscellaneous_Demo() { butPatch.WhenAction = THISBACK(OnPatch); } -void Miscellaneous_Demo::OnDiff() { +void Functions4U_Demo::OnDiff() { if (!BSDiff(~editOriginal, ~editNew, ~editPatch)) Exclamation(DeQtf(BsGetLastError())); } -void Miscellaneous_Demo::OnPatch() { +void Functions4U_Demo::OnPatch() { if (!BSPatch(~editOriginal, ~editNew, ~editPatch)) Exclamation(DeQtf(BsGetLastError())); } + + +DrawingCanvas_Demo::DrawingCanvas_Demo() { + CtrlLayout(*this); + + imgCtrl.SetImage(Images::ClockImage()); + LoadSvg(drawingCanvas, AppendFileName(GetDesktopFolder(), "svg/demo.svg")); + + LineElem &elem = static_cast(drawingCanvas.elemList.elems.Add(new LineElem(100, 100, 200, 200))); + elem.style.SetStrokeColor(Green()).SetStrokeWidth(3); +} + + diff --git a/bazaar/Controls4U_Demo/main_win.cpp b/bazaar/Controls4U_Demo/main_win.cpp index 556359d43..068e9027b 100644 --- a/bazaar/Controls4U_Demo/main_win.cpp +++ b/bazaar/Controls4U_Demo/main_win.cpp @@ -7,6 +7,7 @@ using namespace Upp; #if defined(PLATFORM_WIN32) #include "Controls4U_Demo_win.h" +#include "JBControlsDemo.h" #include "Controls4U_Demo.h"