public ColumnView(Activity context, ColumnController controller) : this()
        {
            this.context    = context;
            this.controller = controller;

            column_view = new EditText(context);

            controller.HookView(this);
        }
        public ColumnViewChoice(Activity context, ColumnController controller) : base()
        {
            nameListener = new NameChangeListener(this);

            this.context    = context;
            this.controller = controller;

            column_view        = new EditText(context);
            MainView           = context.LayoutInflater.Inflate(Resource.Layout.ColumnEditView_Choice, null, false);
            MainView.Clickable = false;
            MainView.Focusable = false;

            MainView.FindViewById <FrameLayout>(Resource.Id.frameLayoutViewName).AddView(column_view);
            column_view.AddTextChangedListener(nameListener);

            ImageView image = MainView.FindViewById <ImageView>(Resource.Id.imageViewColumnType);

            image.SetImageResource(Resource.Drawable.icons_menu_32);

            image.SetScaleType(ImageView.ScaleType.FitXy);
            image.SetColorFilter(Color.White);

            backgroundShape = new GradientDrawable();
            backgroundShape.SetColor(DatabaseController.colors[Math.Abs(column_view.Text.GetHashCode()) % DatabaseController.colors.Length].ToArgb());
            backgroundShape.SetCornerRadius(image.Height / 3);

            image.Background = backgroundShape;
            image.SetOnClickListener(this);

            options = MainView.FindViewById <LinearLayout>(Resource.Id.linearLayoutOptions);

            ImageButton addButton = MainView.FindViewById <ImageButton>(Resource.Id.imageButtonAddOption);

            addButton.SetOnClickListener(this);

            controller.HookView(this);
        }