[#1] Gadget w gornej ramce
Czesc,
dlaczego gadget ktory dodalem do gornej ramki jest "nieklikalny"?
Zakladam ze ma to jakis zwiazek z polem ktore system przyjmuje jako "dragbar" dla okna, a jesli tak to jak nieco zawezic ten obszar by moj gadget stal sie aktywny.

Dzieki

Pytanie bonusowe
Jest sobie taki tag #GA_Text i jest napisane ze mozna uzyc tego albo #GA_Image.
Jak uzywam #GA_Text to zadnego tekstu nie widze, a co za tym idzie nie widze wogole gadgeta (#GA_Image dziala jak nalezy)
[#2] Re: Gadget w gornej ramce

@pch, post #1

Obrazek "obrazujacy" problem:

Jak widac ramki zostalu powiekszone przez intuition wiec gadgety faktycznie sa do nich przypisane.

- Srodkowa czesc pokazuje klik na gadgecie z prawej ramki (gadget zostal wcisniety)

- Prawa czesc pokazuje klik na gadgecie z gornej ramki (gadget zostal "olany" a "chwycila sie" belka okna i okno moze zostac przesuniete)
[#3] Re: Gadget w gornej ramce

@pch, post #2

Tak, to DragBar zasłania Twój gadżet.

Żeby to rozwiązać, nie dodawaj gadżetu DragBar podając WA_DragBar, FALSE przy otwieraniu okna, tylko zdefiniuj własny gadżet typu GTYP_WDRAGGING i dodaj go do okienka.

Musisz wypełnić strukturę Gadget i podać pożądaną krótszą szerokość. Taki gadżet będzie traktowany jako zwyczajny DragBar.

Co do GA_Text, jakiego gadżetu to dotyczy? Przeczytałem, że nie obsługują go wszystkie gadżety.
[#4] Re: Gadget w gornej ramce

@Hexmage960, post #3

OK Dzieki za info o GTYP_WDRAGGING - nie mialem pojecia ze istnieje hehe.

GA_Text chcialem uzyc w buttongclass jak na focie ponizej
Tu akurat jest GA_Text jest nieaktywny bo mi nie dzialal
A wymiary gadgeta (mimo ze pobieram z systemu rozmiar obrazka) to wstawilem cokolwiek (chodzi tylko o testowanie)
[#5] Re: Gadget w gornej ramce

@pch, post #4

Rozumiem, że chcesz dodać etykietę do przycisku?

Według tej informacji większość klas gadżetów nie obsługuje GA_Text i GA_LabelImage.

Z drugiej strony, żeby GA_Text zadziałał w praktyce konieczne jest podanie też tagu GA_DrawInfo, który wskazujesz na strukturę pobraną za pomocą funkcji GetScreenDrawInfo(s) i zwalnianą funkcją FreeScreenDrawInfo(s, dri).

Możesz też spróbować GA_IntuiText i podać przygotowaną strukturę IntuiText. Nie wiem, czy to zadziała.

Wiem tylko, że można zrobić gadżet z etykietą wewnątrz przycisku za pomocą klasy frbuttonclass, ale chyba nie o to Ci chodzi.
[#6] Re: Gadget w gornej ramce

@Hexmage960, post #5

GA_DrawInfo jak najbardziej tam podaje (*di) :)
A chcialem uzyskac zwykly przycisk z samym tekstem (jak gadtools BUTTON_KIND)
... chyba PPView ma takie gadgety w ramce.
[#7] Re: Gadget w gornej ramce

@pch, post #6

W takim razie polecam frbuttonclass. Podajesz w GA_Text tekst gadżetu, a w GA_Image obrazek ramki (frameiclass). Tylko pamiętaj, by rozmiary podać za pomocą SetGadgetAttrsA() po otwarciu.

Albo zrób z tekstu obrazek za pomocą klasy itexticlass i ustaw za pomocą GA_Image w buttongclass.

Ostatnia aktualizacja: 28.12.2021 12:57:14 przez Hexmage960
[#8] Re: Gadget w gornej ramce

@Hexmage960, post #7

O, wlasnie, myslalem o tym ale nie wiedzialem ze tak mozna
Albo zrób z tekstu obrazek za pomocą klasy itexticlass


Dzieki, sprawdze oba podejsciaOK
[#9] Re: Gadget w gornej ramce

@pch, post #8

Tylko w drugim sposobie w buttongclass nie będziesz miał ramki wokół tekstu, dlatego lepiej będzie podać w GA_LabelImage lub spróbować GA_IntuiText.

Jeżeli tekst ma być wewnątrz gadżetu, pierwszy sposób jest raczej lepszy.

Ostatnia aktualizacja: 28.12.2021 13:10:47 przez Hexmage960
[#10] Re: Gadget w gornej ramce

@Hexmage960, post #9

hmmm.... nie wiem jak zrobic by automatycznie objekt frameiclass pokazal sie tam gdzie gadget (oczywiscie przypisuje objekt powstaly z "frameiclass" do GA_Image przed stworzeniem gadgeta "frbuttonclass"

Zeby wogole zobaczyc ramke to musze ustwaic
IA_Top, IA_Left...
w tagach przed stworzeniem objektu "frameiclass"... tylko po co? nie powinno to sie samo wypelnic wzgledem pozycji gadgeta?

Ostatnia aktualizacja: 28.12.2021 19:20:40 przez pch
[#11] Re: Gadget w gornej ramce

@pch, post #10

Spróbuj ustawić rozmiar gadżetu (GA_Width i GA_Height) po utworzeniu gadżetu poprzez SetGadgetAttrs(). Te tagi mają atrybut (S), czyli Set. Wtedy powinno być wszystko OK. Przynajmniej u mnie tak działa.

Ostatnia aktualizacja: 28.12.2021 19:42:37 przez Hexmage960
[#12] Re: Gadget w gornej ramce

@Hexmage960, post #11

Dobra, to zaczyna dzialac - faktycznie ustawiajac te dwa tagi PO utworzeniu gadgeta moge zmieniac rozmiar ramki (przyjmuje ona te wartosci)

Ale napisalem ZACZYNA bo teraz mam problem z pozycjonowaniem tego gadgeta - wiec kolejne dwa tagi tez przenioslem do SetGadgetAttrsA() - GA_Top i GA_RelRight.

O ile GA_Top dziala to GA_RelRight nie - juz nawet widze ze musze mu teraz podac dodatnie wartosci (a powinny byc ujemne)... moze to blad w Blitzowej implementacji tej systemowej komendy... albo ja cos jescze robie nie tak


EDIT
hehe, ok, przynajmniej teraz pokryw sie ramka z tekstem - chodzi o to ze wartosc podana w IA_Left nie jest jako tako zerowana tylko dodawana do GA_RelRight :)


Ostatnia aktualizacja: 28.12.2021 20:18:19 przez pch
[#13] Re: Gadget w gornej ramce

@pch, post #12

Wiec tak mi to wyglada ze GA_RelRight jest tu traktowane jako GA_Right (ktore nie istnieje :) )
NO ok, jakos z tym zyc moge - dojdzie tylko kolejnych pare linijek by wydobyc informacje o szerokosci gadgetow zoom i depth no i wtedy ustwaie swoje po sasiedzku z nimi (albo wywale zoom i depth i wtedy sprawa sie uprosci )

Pytanie:
jak teraz zrobic efekt wcisniecia?
jest tu jakis tag za to odpowiedzialny i z automatu to oagrnie czy musze sam w momencie nacisniecia myszki ustawiac IA_Recessed=True i wszystko updejtowac?
[#14] Re: Gadget w gornej ramce

@pch, post #13

Kolejne:
Dlaczego wflg_depthgadget przy otwieraniu okna dodaje zoom i depth a nie sam depth?
[#15] Re: Gadget w gornej ramce

@pch, post #14

No i ... bombki strzelił choinki nie będzie.
Wyglada na to ze frameiclass wylicza rozmiar w pionie (na podstawie tekstu) o 1 piksel wiecej wzgledem tego co system sobie wyliczy jako wysokosc gornej ramki okna (a liczyl z tego samego fonta)

Widac to gdy chce przypisac taki gadget do gornej ramki bo intuition sama zwiekszy wysokosc ramki w razie potrezby... no i tu zwieksza o 1.
I ostatecznie wychodzi podwojna dolna krawedz tam gdzie sa gadgety (moj oraz CLOSE/DEPTH/ZOOM)

... moze obrazek by to lepiej wyjasnil heh


Jesli usune tekst z mojego gadgeta (wstawie tam "") to gorna ramka okna zostaje z oryginalna wysokoscia (czyli jak gadgety CLOSE/DEPTH/ZOOM)




Ostatnia aktualizacja: 28.12.2021 23:14:27 przez pch
[#16] Re: Gadget w gornej ramce

@pch, post #15

Jak wymusic by "frameiclass" zrobilo ramke o zadanym rozmiarze?
Znalazlem IM_DRAWFRAME (i pewnie trafilem) ale nie bardzo wiem jak tego uzyc
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem