Dock tags window somewhere in UI

What new features you would like to see in next QM version?

Dock tags window somewhere in UI

Postby r0n on Wed Mar 09, 2016 3:13 pm

Would it be possible in a future version to have the option to dock the 'tags' window somewhere?
For example below the items list (bottom left). O
Or at the bottom right, where the output/search pane is? (There is often white space there at the far right, albeit small)

With the tags window I mean the window which is accessible with ALT+F7

Not really important, but may help to use it more.
r0n
Active Member
 
Posts: 500
Joined: Tue Jul 24, 2012 5:47 am

Re: Dock tags window somewhere in UI

Postby Gintaras on Fri Mar 11, 2016 4:15 pm

Function dock_qm_tags_window     ?
Trigger !cv"Tags" "#32770" "" "" "" 0x2 /QM     ?
;^<-- Paste this in the Trigger field on the toolbar: !cv"Tags" "#32770" "" "" "" 0x2 /QM
;This function starts when the Tags window opened, and runs until closed.
;Moves the Tags window to the right-bottom of the QM window and keeps it there when you resize etc QM or resize/minimize the docked Tags.
;Tested on Windows 10 and XP.


int wTags=TriggerWindow
if(!wTags) end "To run this, set trigger 'window created & visible' for QM 'Tags' dialog of QM."

int wQM=_hwndqm
int wPane=id(2206 _hwndqm) ;;QM_Scc

SetParent wTags wQM
;SetWinStyle wTags GetWinStyle(wTags)|WS_CHILD&~WS_POPUP ;;removes menu bar

rep
,if IsWindowVisible(wQM) and !IsIconic(wQM)
,,if !IsWindow(wTags) ;;closed
,,,SendMessageW wQM WM_SIZE 0 0 ;;restores control sizes
,,,break
,,sub.MoveSize
,0.5


#sub MoveSize v

RECT rQM rPane rTags
GetClientRect wPane &rPane; MapWindowPoints wPane wQM +&rPane 2
GetWindowRect wTags &rTags; int cxTags=rTags.right-rTags.left
GetClientRect wQM &rQM; int xTags=rQM.right-cxTags

;MoveWindow is slow...
MapWindowPoints 0 wQM +&rTags 2
if(rTags.left=xTags and rTags.top=rPane.top and rTags.bottom=rPane.bottom and rTags.right=rQM.right and rPane.right=xTags) ret

MoveWindow wPane rPane.left rPane.top xTags-rPane.left rPane.bottom-rPane.top 1
MoveWindow wTags xTags rPane.top cxTags rPane.bottom-rPane.top 1

;adjust the Tags child controls too. Remove this code if don't need.
int c1(id(3 wTags)) c2(id(4 wTags))
GetClientRect wTags &rTags
int xSeparator=rTags.right/2
MoveWindow c1 0 0 xSeparator-8 rTags.bottom 1
MoveWindow c2 xSeparator 0 rTags.right-xSeparator rTags.bottom 1
TO_LvAdjustColumnWidth c1 1
TO_LvAdjustColumnWidth c2 1

Gintaras
Site Admin
 
Posts: 10411
Joined: Thu Dec 19, 2002 7:36 pm
Location: Lithuania

Re: Dock tags window somewhere in UI

Postby r0n on Sat Mar 12, 2016 2:35 am

wow!
THANK YOU!!!
r0n
Active Member
 
Posts: 500
Joined: Tue Jul 24, 2012 5:47 am

Re: Dock tags window somewhere in UI

Postby r0n on Fri Mar 18, 2016 3:59 pm

Sorry, small request:
Is it possible for the left pane (contains tags) and right pane (contains QM items) in the Tags window to have their width each to be 50% of the total width. (this means auto adjusting when the user resizes width).
Now the right pane in it's default state is to small width-wise.
r0n
Active Member
 
Posts: 500
Joined: Tue Jul 24, 2012 5:47 am

Re: Dock tags window somewhere in UI

Postby Gintaras on Fri Mar 18, 2016 4:15 pm

Gintaras
Site Admin
 
Posts: 10411
Joined: Thu Dec 19, 2002 7:36 pm
Location: Lithuania

Re: Dock tags window somewhere in UI

Postby r0n on Fri Mar 18, 2016 10:15 pm

wooow
Thank you!!!!
r0n
Active Member
 
Posts: 500
Joined: Tue Jul 24, 2012 5:47 am

Re: Dock tags window somewhere in UI

Postby r0n on Sun Feb 12, 2017 1:34 am

I want to replace the tags window with another window which is a QM dialog which I created myself.
I modified the code to have it check for the below dialog (Dialog3) and place it at the bottom right corner.
The problem is that that I can not interact with the dialog (can not click upper menubar or buttons).

The dialog (Dialog3, below) is a simple default dialog with a default menubar at the top.
I replaced the trigger with "Dialog3" and made sure the following is present (modifed the inserted code)

int wTags=TriggerWindow



Within the "MoveSize" subfunction below, I have disabled the code under the comment

adjust the Tags child controls too. Remove this code if don't need.



The below dialog get's placed and moved correctly, but I can not interact with it.

Function Dialog3     ?

str md=
;BEGIN MENU
;>&File
;,&Open :501 0x0 0x0 Co
;,&Save :502 0x0 0x0 Cs
;,>Submenu
;,,Item1 :551
;,,Item2 :552
;,,<
;,-
;,E&xit :2
;,<
;>&Edit
;,Cu&t :601
;,&Copy :602
;,&Paste :603
;,<
;>&Help
;,&About :901
;,<
;END MENU

;;menu bar example:
;if(!ShowDialog(dd &sub.DlgProc &controls 0 0 0 0 0 0 0 0 md)) ret
;;popup menu example:
;int i=ShowMenu(md); out i

str dd=
;BEGIN DIALOG
;0 "" 0x90C80AC8 0x8 0 0 224 136 "Dialog3"
;1 Button 0x54030001 0x4 116 116 48 14 "OK"
;2 Button 0x54030000 0x4 168 116 48 14 "Cancel"
;END DIALOG
;DIALOG EDITOR: "" 0x2040308 "*" "" "" ""

if(!ShowDialog(dd &sub.DlgProc 0 0 0 0 0 0 0 0 0 md)) ret


#sub DlgProc
function# hDlg message wParam lParam

sel message
,case WM_INITDIALOG
,case WM_DESTROY
,case WM_COMMAND goto messages2
ret
;messages2
sel wParam
,case IDOK
,case IDCANCEL
ret 1

r0n
Active Member
 
Posts: 500
Joined: Tue Jul 24, 2012 5:47 am

Re: Dock tags window somewhere in UI

Postby Gintaras on Sun Feb 12, 2017 6:34 am

Tested on Windows 10. Menu works. For controls add DT_SetAutoSizeControls.

Function Dialog206     ?
str md=
;BEGIN MENU
;>&File
;,&Open :501 0x0 0x0 Co
;,&Save :502 0x0 0x0 Cs
;,>Submenu
;,,Item1 :551
;,,Item2 :552
;,,<
;,-
;,E&xit :2
;,<
;>&Edit
;,Cu&t :601
;,&Copy :602
;,&Paste :603
;,<
;>&Help
;,&About :901
;,<
;END MENU

;;menu bar example:
;if(!ShowDialog(dd &sub.DlgProc &controls 0 0 0 0 0 0 0 0 md)) ret
;;popup menu example:
;int i=ShowMenu(md); out i

str dd=
;BEGIN DIALOG
;0 "" 0x90CC0AC8 0x8 0 0 224 136 "Dialog3"
;1 Button 0x54030001 0x4 116 116 48 14 "OK"
;2 Button 0x54030000 0x4 168 116 48 14 "Cancel"
;END DIALOG
;DIALOG EDITOR: "" 0x2040400 "*" "" "" ""

if(!ShowDialog(dd &sub.DlgProc 0 0 0 0 0 0 0 0 0 md)) ret


#sub DlgProc
function# hDlg message wParam lParam

sel message
,case WM_INITDIALOG
,DT_SetAutoSizeControls hDlg "1m 2m"
,case WM_DESTROY
,case WM_COMMAND goto messages2
ret
;messages2
sel wParam
,case 501
,out "Open"
,
,case IDOK
,case IDCANCEL
ret 1

Gintaras
Site Admin
 
Posts: 10411
Joined: Thu Dec 19, 2002 7:36 pm
Location: Lithuania

Re: Dock tags window somewhere in UI

Postby r0n on Sun Feb 12, 2017 12:11 pm

Thank you!
r0n
Active Member
 
Posts: 500
Joined: Tue Jul 24, 2012 5:47 am


Return to Wish List

Who is online

Users browsing this forum: No registered users and 0 guests