Jump to page: 1 2
Thread overview
gtkD'de Konum Ayarlamak İçin GtkWindowPosition Türü
Apr 01, 2010
Mengu
Apr 01, 2010
Mengu
March 31, 2010

gtkD örneğin ekranın tam ortasında konumlandırmak için şöyle bir kod yazmamız gerekiyormuş:

import gtk.Window;
import gtk.Main;
int main(string[] args)
{
Main.init(args);
auto pencere = new Window("deneme");
//pencere.maximize;/*Eğer oluşturduğumuz pencerenin tam ekran olarak açılmasını istersek maximize() adlı metottan yararlanabiliriz*/
pencere.setPosition(GTK_WIN_POS_CENTER);// void setDefaultSize (int width, int height); int en, int boy açılışta pencerenin boyutunu ayarlar.
//Eğer programımızın çalışması esnasındaki bir aşamada tam ekran halindeki bir pencereyi tam ekran konumundan çıkarmak istersek de unmaximize() metodunu kullanabiliriz
//pencere.move(100,100);
pencere.setOpacity(0.5); //İşe yaramadı.
//pencere.unmaximize;
pencere.show();
Main.run;

return 0;
}

Burdaki önemli kod parçası:

pencere.setPosition(GTK_WIN_POS_CENTER);

Burada http://gtkd.mikewey.eu/src/gtk/Window.html belgesine göre 'GtkWindowPosition' türünde bir şey yazmamız gerekiyor. Belgedeki örnek: 'GTK_WIN_POS_CENTER_ALWAYS' Ama ne yazıkki yazdığımda şöyle bir hata veriyor:


deneme.d(9): Error: undefined identifier GTK_WIN_POS_CENTER
deneme.d(9): Error: function gtk.Window.Window.setPosition (GtkWindowPosition position) is not callable using argument types (int)
deneme.d(9): Error: cannot implicitly convert expression (GTK_WIN_POS_CENTER) of type int to GtkWindowPosition

Bazı şeyler denedim ama olmadı. Sizce nasıl bu sorunu aşabilirim ?

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 31, 2010

Alıntı:

>

Yani hem örnekteki, hem de bu dosyadaki kod açıklamaları yanlış. :) (Olur böyle şeyler... :))

Sorun bende değil :-) Şaka bir yana Mike'ın sitesindeki bilgilerin pek gtkD ile alakası yok :-P Sanırım C için yazılmış. Örneğin init için şöyle bir açıklama var. int(char[][] bilmemne). Ama D'de char'ın anlamı sanırım C'ye göre daha değişik(Sabit değil, değişken oluyorlar.). Bu yüzden D'de char[][] yerine string[] yazılması gerekiyor. Yani gtkD ile ilgili düzgün bir belge yok. Ama ben Türkçe olarak güncel bir belge hazırlıyorum :-) Sanırım sizin D dersleriniz gibi buda ilk :-D

Alıntı:

>

pencere.setPosition(GtkWindowPosition.POS_CENTER);

Sanırım Javada da böyle bir kullanım var. Keşke javanınkinide deneseymişim. Python ve C'ninkini denedim ayrıca C'ninkini kendimce D'ye çevirdim, to şablonu ilede bazı şeyler denedim. Baktım olmuyor size sordum.

Bu arada denedim ve oldu. Ekranın tam ortasına boyutunu ayarlamadığım için 200x200 piksellik bir pencere açıldı. Teşekkürler

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 31, 2010

Bu arada gtkDde yavaş yavaşta olsa ilerliyorum. Ve ilerledikçede dersler için kısa kısa notlar alıyorum. Bu notlara bakmak isterseniz :http://www.dosyahosting.net/file/4/dJAN/dJANquPGA7T3/gtkdeneme.pdf

Şuan yazarak ilerlediğim ve çok zamanım olmadığı için gtkDde yavaş ilerliyorum. Ayrıca son setPosition işlevini de yazmadım. Ama yinede şuan bunları direk ders olarak koysam en çok anlaşılan gtk (D bile demiyorum, diğer dillerdende olabilir.) derslerini yazmış olurum. O kadar iddialıyım :-) Heleki birde gtk'nin resmi tutorial'ine baktıktan sonra çok iddialıyım. Bir ben birde istihzadaki fırat(Ama o dersleri kolay bir dilde anlatıyor ve o dil için ingilizce örnek çok :-)) çok iyi Türkçe gtk dersi yazıyor :-).

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 31, 2010

Alıntı:

>

Neyse ki bitiyor. Göstergeler dersi de iyi durumda. ;) Ne yazık ki bu da çok uzun oldu. İkiye ayırmaya çalışacağım.

svn ile gönderin(ki bende hemencecik okuyabileyim :-D ). Bende dersi yazmıyorsunuz sandım. Bu habere çok sevindim. Ama d.ershanede ders bitince D'nin bütün iç olanaklarını anlatmış olacak mısınız ?

Sanki bana hala Phobosa baksam çok bir şey anlamayacağım sanıyorum.

Bu arada hemencecik konu altında aylık D dili gelişimi toplantısını yapalım :-)

  1. Andrei'nin kitabı hakkında son bir gelişme var mı ?
  2. D'de birşey değiştirmeyi düşünüyorlar mı ? Örneğin lazy'e ne oldu ?
  3. Phobosta std.bigint gerçekleştirimine ne oldu ?( Don daha iyisini yazacaktı.)(birde bigint ne demek ona bakmak gerekiyor.)
  4. cstreami stream kaldırılcaktı ne oldu ?
  5. std.socket'e ne oldu. ıpv6'ya geçtimi yoksa 4'temi ne oluyor phobosta.

Evet sanırım hiç yanıltlamasınız daha iyi :-)

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 31, 2010

Önce GtkWindowPosition'ın nerede tanımlandığını buldum:

grep -r GtkWindowPosition ~/gtkD/src/* | grep \.d

Çıkan sonuçlar arasında şu satır ilgimi çekti:

/home/ali/gtkD/src/gtkc/gtktypes.d:public enum GtkWindowPosition

O dosyanın içine bakınca, enum'un şöyle tanımlanmış olduğunu gördüm:

public enum GtkWindowPosition
{
	POS_NONE,
	POS_CENTER,
	POS_MOUSE,
	POS_CENTER_ALWAYS,
	POS_CENTER_ON_PARENT
}
alias GtkWindowPosition WindowPosition;

Yani hem örnekteki, hem de bu dosyadaki kod açıklamaları yanlış. :) (Olur böyle şeyler... :)) Şu çalışıyor:

pencere.setPosition(GtkWindowPosition.POS_CENTER);

Oradaki alias'tan anlaşıldığına göre şu da olur:

pencere.setPosition(WindowPosition.POS_CENTER);

Hangisinin uygun olduğunu bilemem. :)

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 31, 2010

Alıntı (canalpay):

>

Sanırım C için yazılmış.

Öyle başlamıştır ve zamanla D'leşiyordur. Çünkü o sayfadaki şu kod D:

class Window : gtk.Bin.Bin;

this, protected, vs. de C'de yok. C ile başlamaları normal. Herhalde kafamızda bir dönüşüm uygulamamızı bekliyorlar. Bu tür yanlışlıkları göre göre kabul edeceğiz.

Alıntı:

>

Türkçe olarak güncel bir belge hazırlıyorum :-) ... buda ilk :-D

Süper, süper! :)

Alıntı:

>

Alıntı:

>

pencere.setPosition(GtkWindowPosition.POS_CENTER);

Sanırım Javada da böyle bir kullanım var. Keşke javanınkinide deneseymişim.

Nereden bileceksin... :) Bu işin sonu yok; eninde sonunda kodlara bakmamız gerekebiliyor.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 31, 2010

Alıntı (canalpay):

>

Şuan yazarak ilerlediğim ve çok zamanım olmadığı için gtkDde yavaş ilerliyorum.

Arama hoşgeldin! ;) Aynı dert bende de var: D.ershane'yi yazmaktan D'nin bir çok başka tarafını kurcalayacak zaman bulamadım.

Neyse ki bitiyor. Göstergeler dersi de iyi durumda. ;) Ne yazık ki bu da çok uzun oldu. İkiye ayırmaya çalışacağım.

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

March 31, 2010

Alıntı (canalpay):

>

svn ile gönderin(ki bende hemencecik okuyabileyim :-D ).

Taslağını svn'e koydum:

https://code.google.com/p/ddili/source/detail?r=52

Alıntı:

>

Bu arada hemencecik konu altında aylık D dili gelişimi toplantısını yapalım :-)

Sorduğun gelişmeler hakkında yeni bilgim yok. :/

Ali

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

April 01, 2010

canalpay, iyi gidiyorsun sen, benim yazmama gerek yok su halde sonuc itibariyle ayni konuyu islemenin manasi yok. ben QtD ile ilgili yazarim.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

April 01, 2010

Alıntı:

>

ayni konuyu islemenin manasi yok. ben QtD ile ilgili yazarim.

Eğer QtD'yi yazacağına söz verirsen kabul :-) Ama şunuda unutmadan söyleyeyim, bir çok konuda senin dersine bakıyorum. Yani senin derslerinin yeri çok ayrı ;-)

Birde şu pencerede kapama düğmesine kapat görevi verirken kullandığımız kodları çok iyi anlamadım. Onun hakkında biraz anlatım yapar mısın ? Şuan anlayabilmek için tekrar birşeyler deneyeceğim.

--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]

« First   ‹ Prev
1 2