本文整理汇总了C#中Gtk.ListStore.SetSortFunc方法的典型用法代码示例。如果您正苦于以下问题:C# Gtk.ListStore.SetSortFunc方法的具体用法?C# Gtk.ListStore.SetSortFunc怎么用?C# Gtk.ListStore.SetSortFunc使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Gtk.ListStore
的用法示例。
在下文中一共展示了Gtk.ListStore.SetSortFunc方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PlacesSearch
public PlacesSearch()
{
this.Build();
store= new Gtk.ListStore (typeof(string),typeof(string),typeof(string),typeof(string),typeof(Vector3),typeof(UUID));
MyTreeViewColumn mycol;
mycol = new MyTreeViewColumn("Name", new Gtk.CellRendererText(), "text", 0,true);
mycol.setmodel(store);
treeview1.AppendColumn(mycol);
mycol = new MyTreeViewColumn("Sim", new Gtk.CellRendererText(), "text", 1,false);
mycol.setmodel(store);
treeview1.AppendColumn(mycol);
mycol = new MyTreeViewColumn("Traffic", new Gtk.CellRendererText(), "text", 2,false);
mycol.setmodel(store);
treeview1.AppendColumn(mycol);
store.SetSortFunc(2,numericsort);
mycol = new MyTreeViewColumn("Location", new Gtk.CellRendererText(), "text", 3,false);
mycol.setmodel(store);
treeview1.AppendColumn(mycol);
treeview1.HeadersClickable = true;
treeview1.Model=store;
store.SetSortColumnId(0, Gtk.SortType.Ascending);
MainClass.onRegister += new MainClass.register(MainClass_onRegister);
MainClass.onDeregister += new MainClass.deregister(MainClass_onDeregister);
if(MainClass.client != null ) { MainClass_onRegister(); }
}
示例2: GroupSearch
public GroupSearch()
{
this.Build();
MainClass.onRegister += new MainClass.register(MainClass_onRegister);
MainClass.onDeregister += new MainClass.deregister(MainClass_onDeregister);
if(MainClass.client != null ) { MainClass_onRegister(); }
store= new Gtk.ListStore (typeof(string),typeof(string),typeof(UUID));
MyTreeViewColumn mycol;
mycol = new MyTreeViewColumn("Name", new Gtk.CellRendererText(), "text", 0,true);
mycol.setmodel(store);
treeview1.AppendColumn(mycol);
mycol = new MyTreeViewColumn("Members", new Gtk.CellRendererText(), "text", 1,false);
mycol.setmodel(store);
store.SetSortFunc(2, numericsort);
treeview1.AppendColumn(mycol);
treeview1.Model=store;
}
示例3: GroupChatView
public GroupChatView(GroupChatModel groupChat)
: base(groupChat)
{
Trace.Call(groupChat);
_GroupChatModel = groupChat;
// person list
Participants = new List<PersonModel>();
_OutputHPaned = new Gtk.HPaned();
Gtk.TreeView tv = new Gtk.TreeView();
_PersonTreeView = tv;
Gtk.ScrolledWindow sw = new Gtk.ScrolledWindow();
PersonScrolledWindow = sw;
sw.ShadowType = Gtk.ShadowType.None;
sw.HscrollbarPolicy = Gtk.PolicyType.Never;
//tv.CanFocus = false;
tv.BorderWidth = 0;
tv.Selection.Mode = Gtk.SelectionMode.Multiple;
sw.Add(tv);
Gtk.TreeViewColumn column;
var cellr = new Gtk.CellRendererText() {
Ellipsize = Pango.EllipsizeMode.End
};
IdentityNameCellRenderer = cellr;
column = new Gtk.TreeViewColumn(String.Empty, cellr);
column.SortColumnId = 0;
column.Spacing = 0;
column.SortIndicator = false;
column.Expand = true;
column.Sizing = Gtk.TreeViewColumnSizing.Autosize;
// FIXME: this callback leaks memory
column.SetCellDataFunc(cellr, new Gtk.TreeCellDataFunc(RenderPersonIdentityName));
tv.AppendColumn(column);
_IdentityNameColumn = column;
Gtk.ListStore liststore = new Gtk.ListStore(typeof(PersonModel));
liststore.SetSortColumnId(0, Gtk.SortType.Ascending);
liststore.SetSortFunc(0, new Gtk.TreeIterCompareFunc(SortPersonListStore));
_PersonListStore = liststore;
tv.Model = liststore;
tv.SearchColumn = 0;
tv.SearchEqualFunc = (model, col, key, iter) => {
var person = (PersonModel) model.GetValue(iter, col);
// Ladies and gentlemen welcome to C
// 0 means it matched but 0 as bool is false. So if it matches
// we have to return false. Still not clear? true is false and
// false is true, weirdo! If you think this is retarded,
// yes it is.
return !person.IdentityName.StartsWith(key, StringComparison.InvariantCultureIgnoreCase);
};
tv.EnableSearch = true;
tv.HeadersVisible = false;
tv.RowActivated += new Gtk.RowActivatedHandler(OnPersonsRowActivated);
tv.FocusOutEvent += OnPersonTreeViewFocusOutEvent;
// popup menu
_PersonMenu = new Gtk.Menu();
// don't loose the focus else we lose the selection too!
// see OnPersonTreeViewFocusOutEvent()
_PersonMenu.TakeFocus = false;
_PersonMenu.Shown += OnPersonMenuShown;
_PersonTreeView.ButtonPressEvent += _OnPersonTreeViewButtonPressEvent;
_PersonTreeView.KeyPressEvent += OnPersonTreeViewKeyPressEvent;
// frame needed for events when selecting something in the treeview
_PersonTreeViewFrame = new Gtk.Frame() {
ShadowType = Gtk.ShadowType.In
};
_PersonTreeViewFrame.ButtonReleaseEvent += new Gtk.ButtonReleaseEventHandler(_OnUserListButtonReleaseEvent);
_PersonTreeViewFrame.Add(sw);
// topic
// don't worry, ApplyConfig() will add us to the OutputVBox!
_OutputVBox = new Gtk.VBox() {
Spacing = 1
};
_TopicTextView = new MessageTextView();
_TopicTextView.Editable = false;
_TopicTextView.WrapMode = Gtk.WrapMode.WordChar;
_TopicScrolledWindow = new Gtk.ScrolledWindow();
_TopicScrolledWindow.ShadowType = Gtk.ShadowType.In;
_TopicScrolledWindow.HscrollbarPolicy = Gtk.PolicyType.Never;
_TopicScrolledWindow.Add(_TopicTextView);
// make sure the topic is invisible and remains by default and
// visible when a topic gets set
_TopicScrolledWindow.ShowAll();
_TopicScrolledWindow.Visible = false;
_TopicScrolledWindow.NoShowAll = true;
_TopicScrolledWindow.SizeRequested += delegate(object o, Gtk.SizeRequestedArgs args) {
// predict and set useful topic heigth
int lineWidth, lineHeight;
using (var layout = _TopicTextView.CreatePangoLayout("Test Topic")) {
layout.GetPixelSize(out lineWidth, out lineHeight);
}
//.........这里部分代码省略.........
示例4: GroupChatView
public GroupChatView(GroupChatModel groupChat)
: base(groupChat)
{
Trace.Call(groupChat);
_GroupChatModel = groupChat;
// person list
_OutputHPaned = new Gtk.HPaned();
Gtk.ScrolledWindow sw = new Gtk.ScrolledWindow();
_PersonScrolledWindow = sw;
//sw.WidthRequest = 150;
sw.HscrollbarPolicy = Gtk.PolicyType.Never;
Gtk.TreeView tv = new Gtk.TreeView();
_PersonTreeView = tv;
//tv.CanFocus = false;
tv.BorderWidth = 0;
tv.Selection.Mode = Gtk.SelectionMode.Multiple;
sw.Add(tv);
Gtk.TreeViewColumn column;
Gtk.CellRendererText cellr = new Gtk.CellRendererText();
cellr.WidthChars = 12;
column = new Gtk.TreeViewColumn(String.Empty, cellr);
column.SortColumnId = 0;
column.Spacing = 0;
column.SortIndicator = false;
column.Sizing = Gtk.TreeViewColumnSizing.Autosize;
column.SetCellDataFunc(cellr, new Gtk.TreeCellDataFunc(RenderPersonIdentityName));
tv.AppendColumn(column);
_IdentityNameColumn = column;
Gtk.ListStore liststore = new Gtk.ListStore(typeof(PersonModel));
liststore.SetSortColumnId(0, Gtk.SortType.Ascending);
liststore.SetSortFunc(0, new Gtk.TreeIterCompareFunc(SortPersonListStore));
_PersonListStore = liststore;
tv.Model = liststore;
tv.RowActivated += new Gtk.RowActivatedHandler(OnPersonsRowActivated);
tv.FocusOutEvent += OnPersonTreeViewFocusOutEvent;
// popup menu
_PersonMenu = new Gtk.Menu();
// don't loose the focus else we lose the selection too!
// see OnPersonTreeViewFocusOutEvent()
_PersonMenu.TakeFocus = false;
_PersonMenu.Shown += OnPersonMenuShown;
_PersonTreeView.ButtonPressEvent += _OnPersonTreeViewButtonPressEvent;
_PersonTreeView.KeyPressEvent += OnPersonTreeViewKeyPressEvent;
// frame needed for events when selecting something in the treeview
_PersonTreeViewFrame = new Gtk.Frame();
_PersonTreeViewFrame.ButtonReleaseEvent += new Gtk.ButtonReleaseEventHandler(_OnUserListButtonReleaseEvent);
_PersonTreeViewFrame.Add(sw);
// topic
// don't worry, ApplyConfig() will add us to the OutputVBox!
_OutputVBox = new Gtk.VBox();
_TopicTextView = new MessageTextView();
_TopicTextView.Editable = false;
_TopicTextView.WrapMode = Gtk.WrapMode.WordChar;
_TopicScrolledWindow = new Gtk.ScrolledWindow();
_TopicScrolledWindow.ShadowType = Gtk.ShadowType.In;
// when using PolicyType.Never, it will try to grow but never shrinks!
_TopicScrolledWindow.HscrollbarPolicy = Gtk.PolicyType.Automatic;
_TopicScrolledWindow.VscrollbarPolicy = Gtk.PolicyType.Automatic;
_TopicScrolledWindow.Add(_TopicTextView);
// make sure the topic is invisible and remains by default and
// visible when a topic gets set
_TopicScrolledWindow.ShowAll();
_TopicScrolledWindow.Visible = false;
_TopicScrolledWindow.NoShowAll = true;
_TopicScrolledWindow.SizeRequested += delegate(object o, Gtk.SizeRequestedArgs args) {
// predict and set useful topic heigth
Pango.Layout layout = _TopicTextView.CreatePangoLayout("Test Topic");
int lineWidth, lineHeigth;
layout.GetPixelSize(out lineWidth, out lineHeigth);
var lineSpacing = _TopicTextView.PixelsAboveLines +
_TopicTextView.PixelsBelowLines;
var text = Topic != null ? Topic.ToString() : String.Empty;
// hardcoded to 2 lines for now
var newLines = text.Length > 0 ? 2 : 0;
var bestSize = new Gtk.Requisition() {
Height = ((lineHeigth + lineSpacing) * newLines) + 2
};
args.Requisition = bestSize;
};
Add(_OutputHPaned);
//ApplyConfig(Frontend.UserConfig);
ShowAll();
}
示例5: GroupChatView
public GroupChatView(GroupChatModel groupChat)
: base(groupChat)
{
Trace.Call(groupChat);
_GroupChatModel = groupChat;
// person list
_OutputHPaned = new Gtk.HPaned();
Gtk.ScrolledWindow sw = new Gtk.ScrolledWindow();
_PersonScrolledWindow = sw;
//sw.WidthRequest = 150;
sw.HscrollbarPolicy = Gtk.PolicyType.Never;
Gtk.TreeView tv = new Gtk.TreeView();
_PersonTreeView = tv;
//tv.CanFocus = false;
tv.BorderWidth = 0;
tv.Selection.Mode = Gtk.SelectionMode.Multiple;
sw.Add(tv);
Gtk.TreeViewColumn column;
Gtk.CellRendererText cellr = new Gtk.CellRendererText();
cellr.WidthChars = 12;
column = new Gtk.TreeViewColumn(String.Empty, cellr);
column.SortColumnId = 0;
column.Spacing = 0;
column.SortIndicator = false;
column.Sizing = Gtk.TreeViewColumnSizing.Autosize;
column.SetCellDataFunc(cellr, new Gtk.TreeCellDataFunc(RenderPersonIdentityName));
tv.AppendColumn(column);
_IdentityNameColumn = column;
Gtk.ListStore liststore = new Gtk.ListStore(typeof(PersonModel));
liststore.SetSortColumnId(0, Gtk.SortType.Ascending);
liststore.SetSortFunc(0, new Gtk.TreeIterCompareFunc(SortPersonListStore));
_PersonListStore = liststore;
tv.Model = liststore;
tv.RowActivated += new Gtk.RowActivatedHandler(OnPersonsRowActivated);
tv.FocusOutEvent += OnPersonTreeViewFocusOutEvent;
// popup menu
_PersonMenu = new Gtk.Menu();
// don't loose the focus else we lose the selection too!
// see OnPersonTreeViewFocusOutEvent()
_PersonMenu.TakeFocus = false;
_PersonMenu.Shown += OnPersonMenuShown;
_PersonTreeView.ButtonPressEvent += _OnPersonTreeViewButtonPressEvent;
_PersonTreeView.KeyPressEvent += OnPersonTreeViewKeyPressEvent;
// frame needed for events when selecting something in the treeview
_PersonTreeViewFrame = new Gtk.Frame();
_PersonTreeViewFrame.ButtonReleaseEvent += new Gtk.ButtonReleaseEventHandler(_OnUserListButtonReleaseEvent);
_PersonTreeViewFrame.Add(sw);
// topic
// don't worry, ApplyConfig() will add us to the OutputVBox!
_OutputVBox = new Gtk.VBox();
_TopicTextView = new MessageTextView();
_TopicTextView.Editable = false;
_TopicTextView.WrapMode = Gtk.WrapMode.WordChar;
_TopicScrolledWindow = new Gtk.ScrolledWindow();
_TopicScrolledWindow.ShadowType = Gtk.ShadowType.In;
// when using PolicyType.Never, it will try to grow but never shrinks!
_TopicScrolledWindow.HscrollbarPolicy = Gtk.PolicyType.Automatic;
_TopicScrolledWindow.VscrollbarPolicy = Gtk.PolicyType.Automatic;
_TopicScrolledWindow.Add(_TopicTextView);
// make sure the topic is invisible and remains by default and
// visible when a topic gets set
_TopicScrolledWindow.ShowAll();
_TopicScrolledWindow.Visible = false;
_TopicScrolledWindow.NoShowAll = true;
Add(_OutputHPaned);
//ApplyConfig(Frontend.UserConfig);
ShowAll();
}