Martin Schreiber | 30 May 15:30 2016
Picon

Re: Skinning issues

On Monday 30 May 2016 14:28:08 Krzysztof wrote:
> 2016-05-30 10:15 GMT+02:00 Martin Schreiber <mse00000@...>:
> > Git master 089cf862c776efe3593f5dd1191cb2b061ddbe1a has TFrame and
> > TFramecomp.ColorFrameDisabled, ColorFrameMouse and ColorFrameClicked.
>
> Thanks, that was it but there is probably typo in ColorFrameMouse
> setter. It change ColorFrameActive instead of ColorFrameMouse
>
Should be fixed in git master 42e1947685dd4115eebf8dd8aa4046e678119c5c.

> >> 2. Second issue. Is there equivalent for LCL TSpeedButton.Flat
> >> property? So far I thought that it is fso_flat but it only disable 3d
> >> effect. FrameColor is still present. I have few buttons which need to
> >> have flat effect -> frame is visible only when mouse is on button or
> >> click
> >
> > Please set FrameColor to cl_transparent.
>
> Right but how to handle this from skincontroller? I mean
> skincontroller doesn't know if button should be flat or not. Should I
> for "flat" buttons don't use skincontroller but assign another
> framecomp with FrameColor=cl_transparent?
>
Set TWidget.SkinGroup of the flat buttons to 1 and use a second 
TSkinController with SkinGroups = 1 for the settings for the flat buttons, 
set SkinGroups of the first TSkinController to 0, otherwise it matches all 
widgets. In objectinspector SkinGroups is a list of comma separated numbers 
or ranges. Example: "2,5,8..18".

Martin
(Continue reading)

Krzysztof | 29 May 22:19 2016
Picon

Skinning issues

Hi Martin,

I finally moved my LCL app to MSEgui and now I can focus on style
because so far it was only quick overview. So I would like to post
here my upcoming issues.

1. My first goal is remove all 3d effects (3d frames, leveli levelo)
from buttons, edits, scrollbars etc and replace it by simple one
colour frame. I want to get flatten UI similar to Windows Metro or
Android Material Design. I know technicaly how to do this using skin
controller and framecomp but have one issue. I set fso_flat,
fso_nomouseanim and fso_noclickanim so now buttons don't have 3d
effect and I can design own frame. Problem is with "mouse hover"
effect. To get this I need to add facelist with frame as timagelist
bitmaps (like in samples/widgets/buttons/hoverframe). Is it necessary?
Is there shorter way for such simple square one colour frame? I mean,
what is missing is tframecom.colorframemouse and
tframecom.colorframeclick next to colorframe and colorframeactive

2. Second issue. Is there equivalent for LCL TSpeedButton.Flat
property? So far I thought that it is fso_flat but it only disable 3d
effect. FrameColor is still present. I have few buttons which need to
have flat effect -> frame is visible only when mouse is on button or
click

3. When you implemented fontawesome, did you saw something for font
frame color? I saw this in TAgg2d in fpGUI. It looks like font awesome
icons can have small frame with different color which get very nice
effect

(Continue reading)

Julio Jiménez | 29 May 10:07 2016
Picon

Error compiling MSE

OS: Linux
Free Pascal Compiler version 3.0.1 [2016/05/26] for x86_64

fpc svn info:
Revisión del último cambio: 33823
Fecha de último cambio: 2016-05-26 19:13:57 +0200 (jue 26 de may de 2016)

MSEide git: 
11b327d7a54a99cb9827852c6a4378f0f67a80a5

cwstring.pas(531,27) Error: Incompatible types: got "<address of function(const WideString;const WideString):Int64;Register>" expected "TUnicodeStringManager.<procedure variable type of function(const WideString;const WideString;TCompareOptions):Int64;Register>"
cwstring.pas(532,3) Error: Identifier not found "CompareTextWideStringProc"
cwstring.pas(540,30) Error: Incompatible types: got "<address of function(const WideString;const WideString):Int64;Register>" expected "TUnicodeStringManager.<procedure variable type of function(const UnicodeString;const UnicodeString;TCompareOptions):Int64;Register>"
cwstring.pas(541,3) Error: Identifier not found "CompareTextUnicodeStringProc"
cwstring.pas(606) Fatal: There were 4 errors compiling module, stopping
Fatal: Compilation aborted


--
Julio Jiménez Borreguero
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
Krzysztof | 27 May 19:58 2016
Picon

How to make shortcut at runtime?

Hi Martin,

I need assign tmenuitem.shortcut at runtime (DELETE key and CTRL+K).
How to make it? shortcutty is WORD and values in msekeyboard are keyty
enums. Surprisingly casting word(key_Delete) did the trick but what
with CTRL+K? AND or OR with key_control and key_k doesn't work.

BTW: LCL TAction has Shortcut property. Am I right that MSE
TCustomAction doesn't have it and I must set it in tmenuitem? This is
not suggestion, I'm just wondering if I'm doing it right

Regards

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
Krzysztof | 24 May 16:35 2016
Picon

OnLayout - placing widget at bottom edge is forcing scrollbar to show

Hi Martin,

I have popup form. On it's OnLayout event I want to place tbooleanedit
at bottom but it shows vertical scrollbar and I need to correct it by
-2. I have printed all sizes, form has levelo = 1 and seems that I can
use any rect except widgetsizerect

procedure TfrmVolume.ArrangeWidgets(const Sender: TObject);
begin
  lblVolume.pos := makepoint(0,0);
  cbMute.pos := makepoint(0, clientheight-cbMute.widgetsizerect.cy-2);

  WriteLn(cbMute.widgetsizerect.cy);
  writeln('paintrect = ',paintrect.cy,'|',paintrect.size.cy);
  writeln('paintclientrect = ',paintclientrect.cy,'|',paintclientrect.size.cy);
  writeln('paintheight = ',paintheight);
  writeln('clippedpaintrect =
',clippedpaintrect.cy,'|',clippedpaintrect.size.cy);
  writeln('innerpaintrect = ',innerpaintrect.cy,'|',innerpaintrect.size.cy);
  writeln('widgetsizerect = ',widgetsizerect.cy,'|',widgetsizerect.size.cy);
  writeln('paintsizerect = ',paintsizerect.cy,'|',paintsizerect.size.cy);
  writeln('clientsizerect = ',clientsizerect.cy,'|',clientsizerect.size.cy);
  writeln('containerclientsizerect =
',containerclientsizerect.cy,'|',containerclientsizerect.size.cy);
  writeln('clientrect = ',clientrect.cy,'|',clientrect.size.cy);
  writeln('clientsize = ',clientsize.cy,'|',clientsize.cy);
  writeln('clientheight = ',clientheight,'|',clientheight);
  writeln('clientwidgetrect =
',clientwidgetrect.cy,'|',clientwidgetrect.size.cy);
  writeln('innerwidgetrect = ',innerwidgetrect.cy,'|',innerwidgetrect.size.cy);
  writeln('innerclientrect = ',innerclientrect.cy,'|',innerclientrect.size.cy);
  writeln('innerclientsize = ',innerclientsize.cy,'|',innerclientsize.cy);
end;

------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
Krzysztof | 24 May 16:01 2016
Picon

Object inspector: create create event method

Hi Martin,

Just small sugestion from Lazarus IDE. Maybe you already have it in
wishlist. In Lazarus, when double click on event name (e.g.
OnExecute), empty method (with params) is created in source editor and
assigned to that event.

Regards

------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
Patrick Goupell | 23 May 14:38 2016
Picon

stringgrid fixrow/datacols autowidth

I have a stringgrid that aautomatically sets the width to the cells data 
item width.

If the fixrow caption is longer than the data width it gets cut off.

Is there a way to have teh stringgrid use the greater of the 2, the 
fixrow caption width versus the datacols width?

If it is possible what options need to be set?

Thank you.

Patrick

------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
Krzysztof | 18 May 21:57 2016
Picon

TActionWidget.popupmenu - how to show on left button click too?

Hi Martin,

How to show popupmenu assigned to for example TButoon on left click
too? Can't find anything in optionswidget, optionswidget or
optionsskin

Regards

------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
Krzysztof | 17 May 21:01 2016
Picon

Re: HintWindow

Is there example how to use it? I have created tpopupwidget descendant
and show it like this:

uses msewidgets;

type
  TfrmVolume = class(tpopupwidget)
end;

procedure tmainfo.ChangeVolume(const Sender: TObject);
var f: TfrmVolume;
begin
  f := TfrmVolume.create(Self, Self.window);
  f.show();
end;

I see it in left-top corner (position is not a issue), seems like it
doesn't stole mainform focus which is good but clicking on something
else doesn't hide it (and release) automatically. Which property I'm
missing?

------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
Krzysztof | 14 May 22:59 2016
Picon

Tpopupmenu - show separator only if needed

Hi Martin,

Just small suggestion observed in Qt framework. I have generic form
with popup menu and actions assigned. Descendants don't need all of
them and sets action.visible to false or add new items with actions
etc. Qt by default doesn't show separator if there is no visible menu
items before or after. Is there something similar in MSEgui?

Regards

------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
Krzysztof | 14 May 22:31 2016
Picon

How to change window icon globaly?

Hi Martin,

Some mse dialogs (like stringenter) has default MSE icon. How to
change it once and globaly for custom icon? (or hide like in
showmessage()) IIRC LCL has application.icon

Regards

------------------------------------------------------------------------------
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j

Gmane