[Lazarus] New menu designer

Ondrej Pokorny lazarus at kluug.net
Wed Dec 23 11:21:57 CET 2015


On 23.12.2015 08:54, taazz wrote:
>> I know that Delphi behaves the same but then we need some FormStyle 
>> that makes the window stay only on top of its application windows and 
>> not system-wide.
>>
>
> No it does not, delphi's 2007 menu designer never stays on top outside 
> the application it self and never looses its position regardless of 
> how many times you change between delphi and other applications.

I was talking about FormStyle=fsStayOnTop and not about delphi's 2007 
menu designer. fsStayOnTop in Delphi behaves the same as in Lazarus - it 
tries to keep the form above all forms system-wide.

On 23.12.2015 08:54, taazz wrote:
>> E.g. I am writing now this email. I open Menu designer in Lazarus and 
>> then switch back to my email program - the email program is covered 
>> by the menu designer from Lazarus, which is absolutely not OK in my 
>> eyes.
>>
>> Bad :( The PopupMode should solve the problem. 
> No, pmauto will autoselect the applications main form as popupparent 
> you need to set the formdesigner as the popupparrent for all the 
> component designers (menu, stringgrid, collections etc). This way 
> double clicking an event will hide the designers which will be back on 
> top when you focus the form designer.

No, you are wrong. pmAuto selects the active form as PopupParent not 
application's main form. See

   TPopupMode = (
     pmNone,     // default behavior - popup to mainform/taskbar window
     pmAuto, *// popup to active form and same as pmNone if no active form*
     pmExplicit  // popup to PopupParent and same as pmNone if not exists
   );

or the widgetset code, e.g. for Qt:

procedure TQtMainWindow.UpdateParent;
var
   NewParent: QWidgetH;
begin
   NewParent := nil;
   case FPopupMode of
     pmNone: ;// no popup parent
     pmAuto:
       // active form is parent
       if Screen.ActiveForm <> nil then
         NewParent := TQtWidget(Screen.ActiveForm.Handle).Widget;
//...

On 23.12.2015 08:54, taazz wrote:
>> On Win32 it works well with PopupMode=pmAuto. On my testing 
>> Linux/Gtk2 system it works the same with pmNode and pmAuto - it 
>> correctly shows the "Checkmark and radioitem properties" dialog above 
>> Menu designer.
>> What OS/WS are you seeing the problem?
>>
> Yes and no depends heavily which is the main form and how it changes 
> between versions.
>

Again, you are wrong. pmAuto doesn't have anything to do with the main form.

Ondrej

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20151223/5ff75295/attachment-0003.html>


More information about the Lazarus mailing list