Opublikowano 26 Marca26 Mar Cześć. Wrzucam panel do zarządzania eventami na podstawie kalendarza od dracarys. W paczke "Emoji" i "Smooth_Scroll" potrzebne do prawidlowego dzialania. Panel początkowo pisany na plikach arezzo i przeniesiony na martysame5.8. #Poprawione LS#Edycja odbywa się na zasadzie wyboru dnia do modyfikacji, więc musilem zmienic "def onclick" na "def example" do obslugi kliknięcia ikony przez graczyTrochę tam trzeba jeszcze poprawić, ale jak ktoś potrzebuje tego to sobie ogarnie.Jakby ktoś potrzebowal pomocy przy dodaniu to śmialo pisać w czym problem i pomogę.@edit, mała aktualizacja, brakująca klasa BorderA//Dodaj do 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się class BorderA(Window): CORNER_WIDTH = 16 CORNER_HEIGHT = 16 LINE_WIDTH = 16 LINE_HEIGHT = 16 BOARD_COLOR = grp.GenerateColor(0.17, 0.027, 0.0, 0.70) LT = 0 LB = 1 RT = 2 RB = 3 L = 0 R = 1 T = 2 B = 3 def init(self, layer = "UI"): Window.__init__(self, layer) CornerFileNames = [ "d:/ymir work/ui/pattern/border_a/border_a_"+dir+".tga" for dir in ["Left_Top","Left_Bottom","Right_Top","Right_Bottom"] ] LineFileNames = [ "d:/ymir work/ui/pattern/border_a/border_a_"+dir+".tga" for dir in ["Left","Right","Top","Bottom"] ] #BaseFileName = "d:/ymir work/ui/pattern/border_a/border_center.tga" self.Corners = [] for fileName in CornerFileNames: Corner = ExpandedImageBox() Corner.AddFlag("not_pick") Corner.LoadImage(fileName) Corner.SetParent(self) Corner.SetPosition(0, 0) 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się () self.Corners.append(Corner) self.Lines = [] for fileName in LineFileNames: Line = ExpandedImageBox() Line.AddFlag("not_pick") Line.LoadImage(fileName) Line.SetParent(self) Line.SetPosition(0, 0) 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się () self.Lines.append(Line) self.Base = ExpandedImageBox() self.Base.AddFlag("not_pick") self.Base.LoadImage("d:/ymir work/ui/pattern/border_a/border_a_center.tga") self.Base.SetParent(self) self.Base.SetPosition(self.CORNER_WIDTH, self.CORNER_HEIGHT) 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się () self.Lines[self.L].SetPosition(0, self.CORNER_HEIGHT) self.Lines[self.T].SetPosition(self.CORNER_WIDTH, 0) def del(self): Window.__del__(self) def SetSize(self, width, height): width = max(self.CORNER_WIDTH*2, width) height = max(self.CORNER_HEIGHT*2, height) Window.SetSize(self, width, height) self.Corners[ 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się ].SetPosition(0, height - self.CORNER_HEIGHT) self.Corners[self.RT].SetPosition(width - self.CORNER_WIDTH, 0) self.Corners[self.RB].SetPosition(width - self.CORNER_WIDTH, height - self.CORNER_HEIGHT) self.Lines[self.R].SetPosition(width - self.CORNER_WIDTH, self.CORNER_HEIGHT) self.Lines[self.B].SetPosition(self.CORNER_HEIGHT, height - self.CORNER_HEIGHT) verticalShowingPercentage = float((height - self.CORNER_HEIGHT*2) - self.LINE_HEIGHT) / self.LINE_HEIGHT horizontalShowingPercentage = float((width - self.CORNER_WIDTH*2) - self.LINE_WIDTH) / self.LINE_WIDTH self.Lines[self.L].SetRenderingRect(0, 0, 0, verticalShowingPercentage) self.Lines[self.R].SetRenderingRect(0, 0, 0, verticalShowingPercentage) self.Lines[self.T].SetRenderingRect(0, 0, horizontalShowingPercentage, 0) self.Lines[self.B].SetRenderingRect(0, 0, horizontalShowingPercentage, 0) if self.Base: self.Base.SetRenderingRect(0, 0, horizontalShowingPercentage, verticalShowingPercentage) def ShowInternal(self): 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się () for wnd in self.Lines: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się () for wnd in self.Corners: 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się () def HideInternal(self): self.Base.Hide() for wnd in self.Lines: wnd.Hide() for wnd in self.Corners: wnd.Hide() Dodaj za innymi "elif" elif Type == "border_a": parent.Children[Index] = BorderA() parent.Children[Index].SetParent(parent) self.LoadElementBorderA(parent.Children[Index], ElementValue, parent) #Dodaj za def LoadElementBoardWithTitleBar(self, window, value, parentWindow): if False == self.CheckKeyList(value["name"], value, self.BOARD_WITH_TITLEBAR_KEY_LIST): return False window.SetSize(int(value["width"]), int(value["height"])) window.SetTitleName(value["title"]) self.LoadDefaultData(window, value, parentWindow) return True//To def LoadElementBorderA(self, window, value, parentWindow): if False == self.CheckKeyList(value["name"], value, self.BOARD_KEY_LIST): return False window.SetSize(int(value["width"]), int(value["height"])) self.LoadDefaultData(window, value, parentWindow) return TrueHaslo do archiwum:sharegon123 🔐 Ukryta Treść 🔐 Zaloguj się lub Zarejestruj się Edytowane 20 Czerwca20 Cze przez wojciech74
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.