Merhaba, Ziyaretçi. Lütfen giriş yapın veya üye olun.

Kullanıcı adınızı, parolanızı ve aktif kalma süresini giriniz

  Gelişmiş Arama
insanın içinde varsa, commodore.gen.tr açığa çıkarır bunu.. bir nevi retro olaylarının dolunayıyız.(Arda)
commodore.gen.trAmigaAmiga YazılımAmosPro için GUI yazdım. :D
Sayfa: 1 [2]   Aşağı git
Yazdır
Gönderen Konu: AmosPro için GUI yazdım. :D  (Okunma Sayısı 18996 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
Alpyre
Uzman
*****
Mesaj Sayısı: 2.237



Üyelik Bilgileri WWW
« Yanıtla #15 : Şubat 19, 2016, 11:12:50 ÖÖ »

AGUI güncellemesi v0.8b (19.02.2016)

- Ghosted Gadget sistemi implementasyonu yapıldı.
- Geliştirici Dökümantasyonu (PDF formatında) tamamlandı.
- Tab sistemi yeniden düzenlendi.
- Menu sistemi yeniden düzenlendi.
- Birkaç bug temizliği.
- Kod yapısı toparlandı.

Sırada:
- AmigaGuide formatında dökümantasyon.
- HTML formatında dökümantasyon.
- Klavye ile GUI kontrolü.

Kodları Aminet'e yüklemeden önce forumda paylaşıyorum (ekte).
Tüm dünyadan önce commodore.gen.tr'de.

Not: Forumda Amos'cu arkadaşlar var biliyorum, oradasınız.
Rica ederim müsait olunca bir göz atın. Eleştiri ve tavsiyelerinizi bekliyorum.

* AGUI_v0.8b.zip (72.75 KB - Yükleme: 274 kez.)
* AGUI_Dev_Manual_v0.8b.zip (943.03 KB - Yükleme: 279 kez.)
Logged

Alper
Levent (Lvnt)
Uzman
*****
Mesaj Sayısı: 2.393



Üyelik Bilgileri
« Yanıtla #16 : Şubat 19, 2016, 19:32:24 ÖS »

Bilgisayardan amigaya program gönderme işini daha çözemediğim için bende dökümantasyona baktım. Baya iyi duruyor, basitçe anlatmışsınız, kafa yormadan kolayca anlaşılıyor (esas işe kafa kalsın da hızlı iş çıkartalım değil mi?) Tebrikler, elinize sağlık.
Logged

Use the brute force, Luke
Alpyre
Uzman
*****
Mesaj Sayısı: 2.237



Üyelik Bilgileri WWW
« Yanıtla #17 : Şubat 23, 2016, 11:40:21 ÖÖ »

AGUI güncellemesi

Hmmm. Bir GUI sisteminin dahili dosya istemcileri de olmalı. Bu eksik kalmış.
Aslında eldeki prosedürlerle 25-30 satırda yazılabiliyor ama yine de olmalı.

Amacımızı intuition'ı taklit etmek olduğu için bir LAMP gadget'i ekledim.
...fakat o da ne? Listview'lerimizin çift tıklamaya duyarlı olması da gerekiyor.

Bunu öne aldım.

Not: Bu arada kodları 12 kişinin indirdiği fakat sadece Lvnt'ten geri dönüş olduğu da gözümden kaçmadı ha! Kahkaha

Bilgisayardan amigaya program gönderme işini daha çözemediğim için bende dökümantasyona baktım. Baya iyi duruyor, basitçe anlatmışsınız, kafa yormadan kolayca anlaşılıyor (esas işe kafa kalsın da hızlı iş çıkartalım değil mi?) Tebrikler, elinize sağlık.
Teşekkürler Lvnt. Sistemi ve dökümantasyonu boş vakit buldukça yavaş yavaş geliştirmeyi düşünüyorum. Dilerim benim kadar çılgın birilerinin işine yarar. Kahkaha


* AGUILatest.gif (17.78 KB, 640x512 - Görüntüleme: 1608 kez.)
Logged

Alper
Alpyre
Uzman
*****
Mesaj Sayısı: 2.237



Üyelik Bilgileri WWW
« Yanıtla #18 : Şubat 28, 2016, 22:17:23 ÖS »

AGUI güncellemesi

Çift tıklama mantığını çözdüm ve uyguladım.
Bir miktar daha optimizasyon gerektirmekle birlikte çalışan dosya istemcisi demomuz ektedir efenim.

Amos'un o kendi ekranını açan, yeşil yeşil dosya istemcisinden çok daha profesyonel duruyor bu bence... Kahkaha

* AGUI_DEMO_v0.9b.zip (251.9 KB - Yükleme: 243 kez.)
Logged

Alper
Alpyre
Uzman
*****
Mesaj Sayısı: 2.237



Üyelik Bilgileri WWW
« Yanıtla #19 : Mart 07, 2016, 20:47:07 ÖS »

AGUI artık Aminet'te.
Güncellemeleri oradan takip edebilirsiniz.
http://aminet.net/package/dev/amos/AGUI
Logged

Alper
emarti
Uzman
*****
Mesaj Sayısı: 2.589


Only Amiga Makes It Possible █


Üyelik Bilgileri WWW
« Yanıtla #20 : Eylül 13, 2016, 17:39:09 ÖS »

Alper abi AGUI bana çokşey öğretti. Hala inceliyorum. Teşekkür ederim.

Birkaç sorum olacak:
1. Uygulama çalışırken AMOS özelliğinden dolayı max. 640x200 ekrandan kurtulup workbench ekranında normal pencere gibi açılma durumu mümkün müdür?

2. Objelerin bazı parametreleri (özellik) tanımlayarak giriyoruz. Örneğin BUTTON için ID, text, koordinatları vb. Objeyi oluşturduktan sonra NAME$ paramtresini runtime'da değiştirmek için nasıl bir procedure yazılabilir veya mümkün müdür?

Logged

https://github.com/emartisoft My GitHUB | http://csdb.dk/scener/?id=26786 My CSDB | https://c64kernal.com Genesis

READY.
SYS(64767): EMARTI
Alpyre
Uzman
*****
Mesaj Sayısı: 2.237



Üyelik Bilgileri WWW
« Yanıtla #21 : Eylül 13, 2016, 23:20:17 ÖS »

1. Uygulama çalışırken AMOS özelliğinden dolayı max. 640x200 ekrandan kurtulup workbench ekranında normal pencere gibi açılma durumu mümkün müdür?

Ne yazık ki AGUI ile asla mümkün değil. AMOS kendi ekranlarını açar ve bu ekranlar Intuition uyumlu değildir. AGUI tamamen AMOS ekranı ve komutları üzerine kurulu.

WB ekranında, intuition pencereleri ve gadgetleri kullanmak için, Amiga Reference Manual'lerini hatmedip, Assembly veya C ile kodlamak gerekiyor. AMOS'un C desteği yok. Fakat Assembly kodunu entegre edebiliyorsunuz. Bunu kullanarak WB ekranında pencereler açan çılgınca kodlar gördüm. Aminet'te mevcut (fakat o pencerelerde AMOS'un ekran ve çizim komutlarının hiçbirini kullanamazsın).

"Gerçi Assembly bilsek AMOS'la ne uğraşacaz ki" demeden edemiyor insan!

2. Objelerin bazı parametreleri (özellik) tanımlayarak giriyoruz. Örneğin BUTTON için ID, text, koordinatları vb. Objeyi oluşturduktan sonra NAME$ paramtresini runtime'da değiştirmek için nasıl bir procedure yazılabilir veya mümkün müdür?

AGUI tamamen AMOS kodu olduğu için (=yavaş) olabildiğince hızdan kazanmaya odaklandım.

Örneğin bir buton tanımladığında, buton ekrana hemen çizilir ve çizilirken artalanı temizlemez bile (temiz bir yere çizildiğini varsayar).

Sonra yine hızdan kazanmak için nesneler asla otomatik olarak güncellenmez. Bir nesnenin güncellenmesi gerekiyorsa sen şu kodla sadece o nesneyi güncellersin:
Kod:
GADUPDATE[NUM]

Diyelim 1 ID'si ile bir buton tanımladın...
Kod:
BUTTON[1,"Eski Metin",10,10,0,0]
...ve butonun üzerindeki metni değiştirmek istiyorsun:
Kod:
GADN$(1)="Yeni Metin"
GADUPDATE[1]
...yeterli olur gibi düşünebilirsin. Ama denediğinde göreceksin ki, eski metnin üzerine yeni metin binmiş olacak (çünkü buton kendisini çizerken artalanını temizlemez).

O zaman nasıl yapmalıyız. Önce eski butonu ekrandan silmeliyiz.
Kod:
Cls 6,GAD(1,1),GAD(1,2) To GAD(1,3),GAD(1,4)

Önce eski buton ekrandan temizlendiğine göre artık koordinatları da değiştirerek butonun eski yerinden kaybolup başka bir yerde belirmesini sağlayabilirsin.

Yani procedüründe sırasıyla şu komutlar olacak:
Kod:
Cls 6,GAD(1,1),GAD(1,2) To GAD(1,3),GAD(1,4)
GADN$(1)="Yeni Metin"
GADUPDATE[1]

Tabi bu güncelleme hız gerektiren bir döngüde ise GADUPDATE[] prosedürünü komple kaldırıp, yerine butonu yeni değerlerle yeniden tanımlamayı da deneyebilirsin:

Kod:
Cls 6,GAD(1,1),GAD(1,2) To GAD(1,3),GAD(1,4)
BUTTON[1,"Yeni Metin",YeniX1,YeniY1,YeniX2,YeniY2]
Screen Swap : Screen Copy Physic to Logic

Bu çok daha hızlı çalışacaktır.
NOT: GADUPDATE[] kullanmayacağımızdan ekrandaki değişikliklerin görünür olması için Screen Swap : Screen Copy Physic to Logic satırını da ilave ettik.
« Son Düzenleme: Eylül 13, 2016, 23:22:27 ÖS Gönderen: Alpyre » Logged

Alper
emarti
Uzman
*****
Mesaj Sayısı: 2.589


Only Amiga Makes It Possible █


Üyelik Bilgileri WWW
« Yanıtla #22 : Eylül 14, 2016, 00:42:40 ÖÖ »

Abi müthişsin. Çok teşekkür ederim.
Logged

https://github.com/emartisoft My GitHUB | http://csdb.dk/scener/?id=26786 My CSDB | https://c64kernal.com Genesis

READY.
SYS(64767): EMARTI
Sayfa: 1 [2]   Yukarı git
Yazdır
Gitmek istediğiniz yer: