List of commits:
Subject Hash Author Date (UTC)
feat(choir)!: Add spoiler pagination 1f1a418878887241a16374ca31592640a0c2941a Vladyslav Bondarenko 2022-01-08 13:30:53
fix(choir)!: Health bar update processor 7be81c650f45198678e8ca517afeb8413638579d Vladyslav Bondarenko 2022-01-08 10:14:54
feat(choir): Unit button contextual menu 981e9016b0c9a377219a13d2716d09de899efe60 Vladyslav Bondarenko 2022-01-08 10:06:50
fix(choir): Update range indicator correctly e2810d30fe62427920479057e1cc28f3ed45ff31 Vladyslav Bondarenko 2022-01-08 03:34:08
fix(choir): Raid frame and spoiler overlap e1a8da43270859a3c36b67f81357a935f0b6f2ef Vladyslav Bondarenko 2022-01-08 02:00:26
fix(choir): Update only existing units when necessary 82b7e0cfd4354263f27ea206f555e9771f2e8f8c Vladyslav Bondarenko 2021-12-31 07:45:00
feat(choir): Render unit threat situation dee7167e3a7e453425248a1062560f9bfd8b3bb4 Vladyslav Bondarenko 2021-12-28 01:39:09
fix(choir): Render dungeon role correctly for Cata 590a4abfd82659624688c4c1658de87693d3cd30 Vladyslav Bondarenko 2021-12-28 00:31:52
fix(choir): Show raid frame at player login 21a86d3840fb810c4ff4c67490aae7d5251c1bae Vladyslav Bondarenko 2021-11-24 06:07:10
feat(choir)!: Add interface options for raid frame ce677d3d0e7cfe05d1da5b159f52a0808db9ce9a Vladyslav Bondarenko 2021-11-24 06:05:37
feat(choir): Add conf spell shortcut default button c8e2c3493896f5ae589c516f742bbafd528140db Vladyslav Bondarenko 2021-11-24 02:28:19
feat(choir)!: Add configuration menu 12319ce873aecea4bfc0addec7c5ac5c1f225237 Vladyslav Bondarenko 2021-11-21 09:26:05
feat(choir): Add unit game tooltip 3ec490e489bb105f5096d5bb3e56814873deec3f Vladyslav Bondarenko 2021-11-20 09:34:12
fix(choir): Raid group frame arrange correctly b592f3f018ee521a821447ccf837aded703ad447 Vladyslav Bondarenko 2021-11-18 22:02:52
feat(choir): Render group role indicator for units 5f3a7c24d3f79035b8faa156355a2d017688134e Vladyslav Bondarenko 2021-11-18 22:02:27
feat(choir): Adjust raid group frame position f99a54133a1761034baca93bfa8814c614191818 Vladyslav Bondarenko 2021-11-18 00:35:35
feat(choir): Add debuff buttons for raid fe66339420a9eb5e4823cc4fe45e0d97b2983073 Vladyslav Bondarenko 2021-11-17 00:55:54
feat(choir): Add texture to health bars ddaeb29d7ecfd95a98bcc85b3f4f7676c7ccd4d7 Vladyslav Bondarenko 2021-11-14 21:40:26
fix(choir)!: Obscure critical error 0f203b4d69f57240e97c66f1ab4510c6ac3e9276 Vladyslav Bondarenko 2021-11-11 12:52:02
feat(choir): Toggle button visibility given roster d193e7b5eb38cb3ac69d74eec1f96e00d90b6098 Vladyslav Bondarenko 2021-11-10 23:46:24
Commit 1f1a418878887241a16374ca31592640a0c2941a - feat(choir)!: Add spoiler pagination
When user presses TAB or SHIFT-TAB, given that unit selection spoiler is
shown, then the next or previous raid group spoiler will be shown
instead of the current one.
Author: Vladyslav Bondarenko
Author date (UTC): 2022-01-08 13:30
Committer name: Vladyslav Bondarenko
Committer date (UTC): 2022-01-08 13:30
Parent(s): 9df08ea9d39b3d534b249b30607ed0071be10371
Signer:
Signing key:
Signing status: N
Tree: 757ee98e1c93717ff72c37e97df20eccb92f5613
File Lines added Lines deleted
choir.lua 70 13
File choir.lua changed (mode: 100644) (index b86a41c..46822a8)
... ... local function createUnitButton(parentFrame, frameName, unit,
750 750 return u return u
751 751 end end
752 752
753 local function createSpoilerPaginatorButton(buttonDesignation, spoiler, clickButton, labelText)
754 assert (buttonDesignation ~= nil)
755 assert (spoiler ~= nil)
756 assert (clickButton ~= nil)
757 assert (labelText ~= nil)
758
759 local paginatorButton = CreateFrame('BUTTON', buttonDesignation, spoiler, 'SecureActionButtonTemplate')
760 paginatorButton:SetSize(36, 24)
761 paginatorButton:SetPoint('TOPRIGHT', 0, 0)
762
763 local artwork = createBackground(paginatorButton)
764 paginatorButton:SetNormalTexture(artwork)
765
766 local label = createLabel(paginatorButton, UnifontRegular16)
767 paginatorButton:SetFontString(label)
768 paginatorButton:SetText(labelText)
769
770 paginatorButton:SetAttribute('type', 'click')
771 paginatorButton:SetAttribute('clickbutton', clickButton)
772
773 createBindingKeyHandler(paginatorButton)
774
775 return paginatorButton
776 end
777
778 local function createSpoilerPaginator(spoiler, previousSpoiler, nextSpoiler)
779 assert (spoiler ~= nil)
780 assert (previousSpoiler ~= nil)
781 assert (nextSpoiler ~= nil)
782
783 local padding = 6
784 local n = spoiler:GetName()
785 local previousButton = createSpoilerPaginatorButton(n .. 'PreviousButton', spoiler, previousSpoiler, '←')
786 local nextButton = createSpoilerPaginatorButton(n .. 'NextButton', spoiler, nextSpoiler, '→')
787 local closeButton = createSpoilerPaginatorButton(n .. 'CloseButton', spoiler, spoiler, '⨯')
788
789 previousButton:SetAttribute('choirBindingKey', 'SHIFT-TAB')
790 nextButton:SetAttribute('choirBindingKey', 'TAB')
791 closeButton:SetAttribute('choirBindingKey', 'ESCAPE')
792
793 closeButton:SetPoint('TOPRIGHT', 0, -padding)
794 nextButton:SetPoint('TOPRIGHT', -padding - closeButton:GetWidth(), -padding)
795 previousButton:SetPoint('TOPRIGHT', -padding -nextButton:GetWidth() - padding - closeButton:GetWidth(), -padding)
796
797 return previousButton, nextButton, closeButton
798 end
799
753 800 local function createSpoiler(spoilerParent, spoilerDesignation) local function createSpoiler(spoilerParent, spoilerDesignation)
754 801 local spoiler = CreateFrame('BUTTON', spoilerDesignation, spoilerParent, 'SecureHandlerClickTemplate') local spoiler = CreateFrame('BUTTON', spoilerDesignation, spoilerParent, 'SecureHandlerClickTemplate')
755 802 spoiler:EnableMouse(true) spoiler:EnableMouse(true)
 
... ... local function createSpoiler(spoilerParent, spoilerDesignation)
760 807 return return
761 808 end end
762 809
763 --[[ Override binding key to toggle the spoiler on Escape key press. ]]--
764 self:SetBindingClick(true, 'CTRL-W', self)
765 self:SetBindingClick(true, 'ESCAPE', self)
766
767 810 self:Show() self:Show()
768 811
769 812 local childTable = self:GetChildList(newtable()) local childTable = self:GetChildList(newtable())
 
... ... local function createGroup(rootFrame, groupNumber, unitTable)
953 996 assert ('table' == type(u)) assert ('table' == type(u))
954 997 assert (#u == groupSize) assert (#u == groupSize)
955 998
956 local spoiler = createSpoiler(rootFrame, 'ChoirSpoiler' .. tostring(groupNumber))
999 local nm = 'ChoirSpoiler'
1000 local spoiler = createSpoiler(rootFrame, nm .. tostring(groupNumber))
957 1001
958 1002 local bgr = createBackground(spoiler) local bgr = createBackground(spoiler)
959 1003 bgr:SetTexture(0, 0, 0, 0.2) bgr:SetTexture(0, 0, 0, 0.2)
 
... ... local function initSpoiler(rootFrame, contextualMenu)
1390 1434 local spoilerHolder = CreateFrame('FRAME', 'ChoirSpoilerRootFrame', rootFrame) local spoilerHolder = CreateFrame('FRAME', 'ChoirSpoilerRootFrame', rootFrame)
1391 1435 spoilerHolder:SetAllPoints() spoilerHolder:SetAllPoints()
1392 1436
1393 createGroup(spoilerHolder, 1)
1394 createGroup(spoilerHolder, 2)
1395 createGroup(spoilerHolder, 3)
1396 createGroup(spoilerHolder, 4)
1397 createGroup(spoilerHolder, 5)
1398 createGroup(spoilerHolder, 6)
1399 createGroup(spoilerHolder, 7)
1400 createGroup(spoilerHolder, 8)
1437 local t = {}
1438 local i = 0
1439 while (i < 8) do
1440 i = i + 1
1441 t[i] = createGroup(spoilerHolder, i)
1442 end
1401 1443
1402 1444 --[[ TODO Generalize the interface to be used with any kind of child frames, --[[ TODO Generalize the interface to be used with any kind of child frames,
1403 1445 -- especially nested spoilers and spell buttons. ]]-- -- especially nested spoilers and spell buttons. ]]--
 
... ... local function initSpoiler(rootFrame, contextualMenu)
1409 1451 local spoilerParty = createGroup(spoilerHolder, 9, {'player', 'party1', 'party2', 'party3', 'party4'}) local spoilerParty = createGroup(spoilerHolder, 9, {'player', 'party1', 'party2', 'party3', 'party4'})
1410 1452 spoilerParty.text:SetText('Party') spoilerParty.text:SetText('Party')
1411 1453 _G['BINDING_NAME_CLICK ' .. spoilerParty:GetName() .. ':LeftButton'] = 'Party' _G['BINDING_NAME_CLICK ' .. spoilerParty:GetName() .. ':LeftButton'] = 'Party'
1454 t[i + 1] = spoilerParty
1455
1456 i = 0
1457 while (i < #t) do
1458 local p = i
1459 if p < 1 then
1460 p = #t
1461 end
1462 i = i + 1
1463 local n = i + 1
1464 if n > #t then
1465 n = 1
1466 end
1467 createSpoilerPaginator(t[i], t[p], t[n])
1468 end
1412 1469
1413 1470 BINDING_HEADER_CHOIR = 'Choir' BINDING_HEADER_CHOIR = 'Choir'
1414 1471
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/vrtc/choir

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/vrtc/choir

Clone this repository using git:
git clone git://git.rocketgit.com/user/vrtc/choir

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main