Package mcbase :: Package widgets :: Module mctable :: Class MCTable
[hide private]
[frames] | no frames]

Class MCTable

source code


Customized table widget for MOCOP project. Includes two main objects, one is the filter table other is the content table. Compatible with standard Qt model-view structure.

Instance Methods [hide private]
 
__init__(self, parent=None)
Bir mcTable nesnesi yaratır.
source code
 
clearSelections(self)
Tablo üzerindeki seçimleri sıfırlar.
source code
 
setDataSource(self, dataSource)
Tabloda kullanılacak olan modeli (datasource'u) ayarlar.
source code
 
setEditable(self, editable=True, alwaysAppend=True)
Tablonun editable moda geçmesini sağlar.
source code
 
setAdditionalFunction(self, function, cells)
Bazı hücrelerden çıkarken bazı işlemlerin de yapılması gerekmektedir.
source code
 
cellDoubleClicked(self, index)
Tablo üzerinde bir hücreye çift tıklanırsa çalışan metot.
source code
 
rowSelected(self, row=None)
Seçilen satıra ait olan verileri içeren bir dict hazırlar ve metotla aynı isimdeki sinyal olarak geciktererek atar.
source code
 
emitRowSelected(self, data)
Verilen veriyi (data) rowSelected sinyali ile atar.
source code
 
setMultipleSelection(self, multiple=True)
Tablonun çoklu seçim modunda olup olmayacağını ayarlar.
source code
 
verticalHeaderClicked(self, row)
Çoklu seçim modunda fare ile seçim yapılabilmesini sağlar.
source code
 
eventFilter(self, obj, event)
eventFilter() metodunun yeniden gerçekleştirimi.
source code
 
sectionClicked_internal(self, col, ctrlPressed) source code
 
sectionClicked(self, col, ctrlPressed)
Tablo başlığındaki bir sütuna tıklanınca sectionClicked_internal() metodu tarafından çağrılan metot.
source code
 
filterScrolled(self, value) source code
 
setModel(self, model)
Ana tablo tarafından kullanılan veri modelini ayarlar.
source code
 
model(self)
Ana tablo tarafından kullanılan veri modelini döndürür.
source code
 
on_btn_topLeftWidget_clicked(self)
Filtreyi temizler.
source code
 
on_btn_topRightWidget_clicked(self)
Filtredeki verilere göre tabloyu tazeler.
source code
 
resizeEvent(self, event)
Filtreli tablolarda filtrenin sağ üstündeki butonu gerekli yere taşır.
source code
 
setAdditionalButtonGeometries(self)
Tasarım menüsü, filtre temizleme ve çalıştırma menüsü tuşlarını ayarlayan metot.
source code
 
moveTopRightWidget(self)
Tablonun sağ üstünde bulunan ve filtreyi çalıştıran butonun yerini ayarlar.
source code
 
init(self, withFilterTable=True)
Tablonun aslen yaratıdığı metot.
source code
 
colDesign_MenuChosen(self, prm1, prm2)
Dizayn menüsünden geldiğimizi gösterir.
source code
 
cb_colDesignSaved(self, result, deleted=False)
Kolon tasarım menüsünün başarılı bir şekilde kaydedildiği zaman cağırılan (callback) metot.
source code
 
eb_colDesignSaveFailed(self, error, deleted=False)
Kolon tasarım menüsü kaydedilemezse cağırılan (errback) metot.
source code
 
getCurrentFilterDesign(self)
Şu anda ekrandaki tasarımı alır ve tasarım kaydetme formatında döndürür.
source code
 
processColDesignMenu(self, selected, ctrlPressed=False, _activateFilter=True)
Kolon tasarımı menüsünden seçilen komut buraya gönderilir.
source code
 
setColDesignsMenu(self, columnLabel=None)
Tablodaki tasarım menüsü içerisine kolon tasarımları menüsünü yerleştirir.
source code
 
getColumnsMenu(self, ignoreColumn)
Tabloda bulunan kolonları içeren bir menü hazırlar.
source code
 
getCustomDesignSubMenu(self)
Tabloda mevcut bulunan kolon tasarımlarından bir alt menü oluşturur.
source code
 
applyColumnDesign(self)
Kullanıcının seçtiği menü tasarımına göre kolonları ayarlar.
source code
 
setColumnWidth(self, col, width)
Hem ana tablonun hem de filtre tablosunun ilgili kolonunun boyunu verilen parametreye göre ayarlar.
source code
 
hideColumn(self, col)
Hem ana tablonun hem de filtre tablosunun ilgili kolonunu saklar.
source code
 
showColumn(self, col)
Hem ana tablonun hem de filtre tablosunun ilgili kolonunu gösterir.
source code
 
focusCell(self, row, col, startEditing=True)
Herhangi bir hücrenin edit edilebilmesini sağlar.
source code
 
setTrxID(self, trxID, trxPrms=None, initialTrxPrms=None)
Tabloyu besleyecek olan trx'i belirler.
source code
 
updateTable(self) source code
 
refreshTable(self, ignore=None)
Tabloyu refresh ederek yeniden verileri almasını sağlar.
source code
 
resetTable(self, ignore=None)
Tablo içindeki verileri tamamen silerek tazeler.
source code
str
tableCode(self)
Bu tablonun kodunu döndüren metot.
source code
 
setTabPriority(self, tabPriority)
Bu method plug-in'lerin düzgün çalışması için konulmuştur.
source code
int
getTabPriority(self)
Bu widget'in Qt Designer XML'i veya bir plug-in tarafından atanan öncelik değerini döndürür.
source code
 
deleteRow(self, row)
Parametre olarak gelen satırı siler.
source code
 
mcGet(self, comboData=False)
Asıl tablo verisini toplayan realMcGet() metodunu çağırmadan önce modelimizin (memorySource) meşgul olup olmadığına bakıyoruz, meşgul ise o zaman bunun sonlanmasını bekliyoruz.
source code
list
realMcGet(self, comboData=False)
Tüm mcWidgets elemanları ortak bir methodla set edilebilmeli ve yine ortak bir method'la içlerindeki data alınabilmeli.
source code
 
getDataForMcGet(self, comboData=False)
mcGet metodunda kullanılmak üzere tablo datasını döndürür.
source code
 
mcSet(self, data, append=False)
Verilen datayı tablonun editörlerini de dikkate alarak koyar.
source code
 
mcClear(self)
Tablo verisini silmek için kullanılır.
source code
 
setRequired(self, isRequired)
Tablo gerekli bir alansa çevre çizgi kalınlığını değiştiririz.
source code
 
isDisabled(self)
Tablonun disabled olup olmadığını döndürür.
source code
bool
selectRow(self, row)
Eğer tablo çoklu seçim modundaysa belirtilen satırı seçili hale getirir.
source code
 
getFilterParams(self)
Kullanıcının seçtiği filtreyi liste halinde döndürür.
source code
 
setSortOrder(self, col, direction)
Verilen bir kolonu gene verilen sıraya göre sıralar.
source code
 
setFilterParams(self)
Şu anda tanımlı tablo parametrelerine göre filtreyi doldurur.
source code
Method Details [hide private]

setEditable(self, editable=True, alwaysAppend=True)

source code 

Tablonun editable moda geçmesini sağlar. Bu modda çalıması için ayrıca mcMemorySource'un da tanımlanmış olması gerekmektedir.

Parameters:
  • editable (bool) - Editable olup olmayacağı bildirir.
  • alwaysAppend (bool) - Tablonun yaratılırken atandığı değeri ile sınırlı kalmayacağını belirtir. Eğer True verilirse tablo ihtiyaç oldukça sonuna yenilerini ekleyecektir.

setAdditionalFunction(self, function, cells)

source code 

Bazı hücrelerden çıkarken bazı işlemlerin de yapılması gerekmektedir. Örneğin Stok Kartı seçilir ama onun birimleri için ayrı bir TRX çalıştırılması gerekmektedir. Bu durumda tablonun bu işlemin bitimine kadar beklemesi gerekmektedir. Yalnız bu işlemin ne olacağını bilmediği için tabloya bu işlemi bildiren bir function gönderilir. Tablo da o function return edene kadar bekler. Eğer Deferred döndürürse bu sefer Deferred işlemi bitene bekler.

Parameters:
  • function (function) - Sonucu beklenecek olan function
  • cells (list veya tuple (sequence)) - Bu function'ı hangi kolondaki hücrelerin çıkışında çalıştıracağını tutan liste.

cellDoubleClicked(self, index)

source code 

Tablo üzerinde bir hücreye çift tıklanırsa çalışan metot. Tablonun çalışma modu ve seçme moduna göre çalışır.

emitRowSelected(self, data)

source code 

Verilen veriyi (data) rowSelected sinyali ile atar. doubleClicked() sinyaline bağlandığı zaman çökme sorunu yaşandığı için ayrı metot içerisine taşınmıştır.

setMultipleSelection(self, multiple=True)

source code 

Tablonun çoklu seçim modunda olup olmayacağını ayarlar.

Parameters:
  • multiple (bool) - Doğru ise tablo çoklu seçim modundadır, aksi halde değildir.

eventFilter(self, obj, event)

source code 

eventFilter() metodunun yeniden gerçekleştirimi.

Kolon saklama menüsü gibi işlemler için kullanılır.

sectionClicked(self, col, ctrlPressed)

source code 

Tablo başlığındaki bir sütuna tıklanınca sectionClicked_internal() metodu tarafından çağrılan metot. Sıralama işlemlerini yapar.

Parameters:
  • col - Üzerine tıklanılan kolon numarası.

setAdditionalButtonGeometries(self)

source code 

Tasarım menüsü, filtre temizleme ve çalıştırma menüsü tuşlarını ayarlayan metot. Bir tablo için sadece bir kere çalışır.

init(self, withFilterTable=True)

source code 

Tablonun aslen yaratıdığı metot.

Parameters:
  • withFilterTable (bool) - Tablonun bir filtreye sahip olup olmayacağını belirten parametre.

cb_colDesignSaved(self, result, deleted=False)

source code 

Kolon tasarım menüsünün başarılı bir şekilde kaydedildiği zaman cağırılan (callback) metot.

Parameters:
  • deleted (bool) - Eğer kolon tasarımı silindiyse bu parametre True olur.

eb_colDesignSaveFailed(self, error, deleted=False)

source code 

Kolon tasarım menüsü kaydedilemezse cağırılan (errback) metot.

Parameters:
  • deleted (bool) - Eğer kolon tasarımı silinemediyse bu parametre True'dur.

getCurrentFilterDesign(self)

source code 

Şu anda ekrandaki tasarımı alır ve tasarım kaydetme formatında döndürür.
Bu format şu şekildedir:
[
  ('_key', genislik, filtre, sort),
  ('_key', genislik, filtre, sort),
  ...
]

processColDesignMenu(self, selected, ctrlPressed=False, _activateFilter=True)

source code 

Kolon tasarımı menüsünden seçilen komut buraya gönderilir. Komutlar "komut.parametre" formatındadır. Doğal olarak parametre içerisinde boşluk bulunamaz.

Komut "kaydet", "sil", "kolongoster" ya da "yukle" dir. Parametre de kaydedilecek ya da yüklenilecek olan ekran kodudur. Parametre '-yeni-' ise özel anlam taşımaktadır, bu bir dialog açarak mevcut ayarların yeni bir isim altında saklanmasını sağlar. "-" karakteri kullanıcı tarafından girilemediği için bir tasarımın yanlışlıkla bu isim olması önlenir. Parametre '-ontanimli-' ise gene özel anlam taşımaktadır, bu da öntanımlı kolon ayarlarının yüklenmesi gerektiğini anlatır.

Parameters:
  • selected (str) - Komut ve parametresi
  • ctrlPressed (bool) - Menü seçilirken CTRL tuşuna basılıp basılmadığını belirtir

getCustomDesignSubMenu(self)

source code 

Tabloda mevcut bulunan kolon tasarımlarından bir alt menü oluşturur. Bu altmenü formatı, mcPushButtonMenu widget'ının algılayabileceği formattadır.

setColumnWidth(self, col, width)

source code 

Hem ana tablonun hem de filtre tablosunun ilgili kolonunun boyunu verilen parametreye göre ayarlar.

Parameters:
  • col - Kolon numarası (mantıksal)
  • width - Kolon genişliği

hideColumn(self, col)

source code 

Hem ana tablonun hem de filtre tablosunun ilgili kolonunu saklar.

Parameters:
  • col - Kolon numarası (mantıksal)

showColumn(self, col)

source code 

Hem ana tablonun hem de filtre tablosunun ilgili kolonunu gösterir.

Parameters:
  • col - Kolon numarası (mantıksal)

focusCell(self, row, col, startEditing=True)

source code 

Herhangi bir hücrenin edit edilebilmesini sağlar.

Parameters:
  • dRow (int) - Satırın data source'taki karşılığı
  • dCol (int) - Sütunun data source'taki karşılığı
  • startEditing (bool) - Hücrenin editleme üzere focus alınıp alınmayacağı

setTrxID(self, trxID, trxPrms=None, initialTrxPrms=None)

source code 

Tabloyu besleyecek olan trx'i belirler.

Parameters:
  • trxID (str) - Transaction ID
  • trxPrms (dict) - TRX'e eklenecek olan parametreler.
  • initialTrxPrms (dict) - Tablo ilk açıldığında kullanılacak olan parametreler.

refreshTable(self, ignore=None)

source code 

Tabloyu refresh ederek yeniden verileri almasını sağlar. Bu method TRX bağlantılı data sourcela kullanılmaktadır.

Veri alındığında ateşlenecek bir deferred nesne döndürür.

Parameters:
  • ignore - Deferred zincirlerine bağlamak için kullanılabilecek dikkate alınmayan parametre.
Returns:
Tablo tazelendiğinde ateşlenecek bir deferred nesne döndürür.

resetTable(self, ignore=None)

source code 

Tablo içindeki verileri tamamen silerek tazeler. Bu method TRX bağlantılı data sourcela kullanılmaktadır.

Veri alındığında ateşlenecek bir deferred nesne döndürür.

Parameters:
  • ignore - Deferred zincirlerine bağlamak için kullanılabilecek dikkate alınmayan parametre.
Returns:
Tablo tazelendiğinde ateşlenecek bir deferred nesne döndürür.

tableCode(self)

source code 

Bu tablonun kodunu döndüren metot. Kod ekranİsmi.tabloİsmi şeklindedir.

Returns: str
Tablo kodu

setTabPriority(self, tabPriority)

source code 

Bu method plug-in'lerin düzgün çalışması için konulmuştur. Buna göre bir plug-in ekrana bir widget eklediğinde tab sırasını belirlemek icin, o widget'e bir priority verir. Qt Designer ile verilen tab priority'ler 100'er 100'er artar.

Parameters:
  • tabPriority (int) - Kendinden önceki widget'in priority'isinden büyük, kendinden sonraki widget'in priority'sinden ise kücük bir priority girilmesi gerekmektedir.

getTabPriority(self)

source code 

Bu widget'in Qt Designer XML'i veya bir plug-in tarafından atanan öncelik değerini döndürür.

Returns: int
Tab sırasındaki öncelik değerini döndürür, her zaman 0. Burada sıfır değeri sis2100 ekranı tarafından önceliklerde kale alınmaz. Tabloları içeren bu widget'ın kendisinin focus almasını istemiyoruz, bu yüzden focusu bir altımızda bulunan tabloya veriyoruz. Bu verilme işlemi de lqInit() metodu içerisinde yapılıyor.

realMcGet(self, comboData=False)

source code 

Tüm mcWidgets elemanları ortak bir methodla set edilebilmeli ve yine ortak bir method'la içlerindeki data alınabilmeli.

Parameters:
  • comboData (bool) - Bazı durumlarda, örneğin tablo verilerinin başka bir tabloya kopyalanması durumunda editable tablonun verileri alınırken combo kolonların içeriğininde mcGet ile alınması gerekmektedir. Bu sayede kopyalanan tabloda tekrar aynı combo içeriğinin geitirlmesine ihtiyaç kalmayacaktır.
Returns: list
Tablo verilerini döndürür.

mcSet(self, data, append=False)

source code 

Verilen datayı tablonun editörlerini de dikkate alarak koyar. append=True ise gelen datayı tabloya ekler. Eski veriler silinmez.

selectRow(self, row)

source code 

Eğer tablo çoklu seçim modundaysa belirtilen satırı seçili hale getirir.

Parameters:
  • row (int) - Seçilecek olan satır
Returns: bool
Çoklu seçim modunda olunup olunmadığı

setSortOrder(self, col, direction)

source code 

Verilen bir kolonu gene verilen sıraya göre sıralar.

Parameters:
  • col - Kolon numarası, int
  • direction - Sıralama yönü, string [asc|desc]