public override NSView GetViewForItem(NSTableView tableView, NSTableColumn tableColumn, int row)
            {
                if (NSObject.Equals(tableColumn.Identifier, MainWindowController._idImageColumn))
                {
                    NSImageView imageView = tableView.MakeView("GlyphView", this) as NSImageView;
                    if (imageView == null)
                    {
                        imageView = new XImageView();
                        SetIdentifierToView(imageView, "GlyphView");
                    }
                    var img = new NSImage(glyphInfos[row].GlyphImage, new SizeF(rowHeight - 2f, rowHeight - 2f));
                    imageView.Image = img;
                    return(imageView);
                }
                else if (NSObject.Equals(tableColumn.Identifier, MainWindowController._idNameColumn))
                {
                    NSTextField textfield = tableView.MakeView("NameView", this) as NSTextField;
                    if (textfield == null)
                    {
                        textfield = new NSTextField();
                        //textfield.BackgroundColor = NSColor.DarkGray;
                        textfield.BackgroundColor = NSColor.FromDeviceWhite(0f, 0.5f);
                        textfield.Bordered        = false;
                        SetIdentifierToView(textfield, "NameView");
                        //textfield.Alignment = NSTextAlignment.Center;
                        textfield.Cell = new XTextFieldCell(textfield);
                    }

                    textfield.StringValue = glyphInfos[row].GlyphName;

                    return(textfield);
                }
                else if (NSObject.Equals(tableColumn.Identifier, MainWindowController._idDetailColumn))
                {
                    NSTextField textfield = tableView.MakeView("DetailView", this) as NSTextField;
                    if (textfield == null)
                    {
                        textfield = new NSTextField();
                        //textfield.BackgroundColor = NSColor.DarkGray;
                        textfield.BackgroundColor = NSColor.FromDeviceWhite(0f, 0.5f);
                        textfield.Bordered        = false;
                        SetIdentifierToView(textfield, "DetailView");

                        textfield.Cell = new XTextFieldCell(textfield);
                    }

                    textfield.StringValue = String.Format("\"{0}\" 0x{1:x}", glyphInfos[row].RawName, glyphInfos[row].GlyphId);

                    return(textfield);
                }
                return(null);
            }
            public override NSView GetViewForItem(NSTableView tableView, NSTableColumn tableColumn, int row)
            {
                if (NSObject.Equals (tableColumn.Identifier, MainWindowController._idImageColumn))
                {
                    NSImageView imageView = tableView.MakeView ("GlyphView", this) as NSImageView;
                    if (imageView == null) {
                        imageView = new XImageView ();
                        SetIdentifierToView (imageView, "GlyphView");
                    }
                    var img = new NSImage (glyphInfos[row].GlyphImage, new SizeF (rowHeight-2f, rowHeight-2f));
                    imageView.Image = img;
                    return imageView;
                }
                else if (NSObject.Equals (tableColumn.Identifier, MainWindowController._idNameColumn))
                {
                    NSTextField textfield = tableView.MakeView ("NameView", this) as NSTextField;
                    if (textfield == null) {
                        textfield = new NSTextField ();
                        //textfield.BackgroundColor = NSColor.DarkGray;
                        textfield.BackgroundColor = NSColor.FromDeviceWhite (0f, 0.5f);
                        textfield.Bordered = false;
                        SetIdentifierToView (textfield, "NameView");
                        //textfield.Alignment = NSTextAlignment.Center;
                        textfield.Cell = new XTextFieldCell (textfield);
                    }

                    textfield.StringValue = glyphInfos[row].GlyphName;

                    return textfield;
                }
                else if (NSObject.Equals (tableColumn.Identifier, MainWindowController._idDetailColumn))
                {

                    NSTextField textfield = tableView.MakeView ("DetailView", this) as NSTextField;
                    if (textfield == null) {
                        textfield = new NSTextField ();
                        //textfield.BackgroundColor = NSColor.DarkGray;
                        textfield.BackgroundColor = NSColor.FromDeviceWhite (0f, 0.5f);
                        textfield.Bordered = false;
                        SetIdentifierToView (textfield, "DetailView");

                        textfield.Cell = new XTextFieldCell (textfield);
                    }

                    textfield.StringValue = String.Format ("\"{0}\" 0x{1:x}", glyphInfos[row].RawName, glyphInfos[row].GlyphId);

                    return textfield;
                }
                return null;
            }