Example #1
0
        private void tokenEdit1_DragDrop(object sender, DragEventArgs e)
        {
            TokenEditHitInfo token = (TokenEditHitInfo)e.Data.GetData(typeof(TokenEditHitInfo));
            var allTokens          = tokenEdit1.GetTokenList();
            var newPl = tokenEdit1.CalcHitInfo(tokenEdit1.PointToClient(new Point(e.X, e.Y)));

            if (!newPl.InToken && newPl.InEditorRect)
            {
                var values = (IList)tokenEdit1.EditValue;
                values.Remove(token.Token.Value.ToString());
                values.Add(token.Token.Value.ToString());
                tokenEdit1.EditValue = values;
            }
            else if (newPl.InToken)
            {
                var hitPoint = ((DevExpress.XtraEditors.ViewInfo.EditHitInfo)(newPl)).HitPoint.X;

                var  tokenStartX = newPl.TokenInfo.Bounds.X;
                var  tokenEndX   = newPl.TokenInfo.Bounds.X + newPl.TokenInfo.Bounds.Width;
                bool before      = hitPoint - tokenStartX < tokenEndX - hitPoint;
                var  values      = (IList)tokenEdit1.EditValue;
                values.Remove(token.Token.Value.ToString());
                int index = values.IndexOf(newPl.Token.Value);
                values.Insert(before ? index : index + 1, token.Token.Value.ToString());
            }
        }
        private void ChangeCheckedIfRequired(TokenEditHitInfo hitInfo)
        {
            CustomTokenEditHitInfo hInfo = hitInfo as CustomTokenEditHitInfo;

            if (hInfo.IsInCheckBox)
            {
                (hitInfo.HitObject as CustomTokenEditTokenInfo).ChangeChecked();
            }
        }
 protected override void OnTokenClick(TokenEditHitInfo hitInfo)
 {
     ChangeCheckedIfRequired(hitInfo);
     base.OnTokenClick(hitInfo);
 }