Esempio n. 1
0
        public GridColumn(ColumnTypeEnum columnType = ColumnTypeEnum.BasicText,
                          Category cateogry         = null, string header = "", string binding = "",
                          bool isVisible            = true)
        {
            IsVisible  = isVisible;
            Category   = cateogry;
            Header     = header;
            ColumnType = columnType;
            Binding    = binding;

            if (Category != null)
            {
                ColumnType = ColumnTypeEnum.Category;
            }

            if (Category != null && !string.IsNullOrWhiteSpace(header))
            {
                throw new Exception("Cannot specify a category and a header");
            }
            if (ColumnType == ColumnTypeEnum.BasicText &&
                (string.IsNullOrWhiteSpace(binding) ||
                 string.IsNullOrWhiteSpace(header)))
            {
                throw new Exception("BasicText must specify header and binding");
            }
            if (ColumnType == ColumnTypeEnum.Category && Category == null)
            {
                throw new Exception("Column cannot be of type Category if category is null");
            }
        }
Esempio n. 2
0
        public float GetColumnWidth(IEnumerable<TableColumn> columns, ColumnTypeEnum columnType)
        {
            var width = 0f;
            var column = columns.FirstOrDefault(item => item.ColumnType == columnType);
            if (!column.Hidden)
                width = column.Width;

            return width;
        }
        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="header">标题</param>
        /// <param name="type">类型</param>
        /// <param name="index">索引</param>
        /// <param name="width">宽度</param>
        //public DynamicColumnAttribute(string header, ColumnTypeEnum type, int index, double width = 100)
        //{
        //    Header = header;
        //    Type = type;
        //    Index = index;
        //    Width = width;
        //}

        /// <summary>
        /// 构造函数
        /// </summary>
        /// <param name="header">标题</param>
        /// <param name="type">类型</param>
        /// <param name="index">索引</param>
        /// <param name="isShown">是否显示</param>
        /// <param name="isSystem">是否为系统</param>
        /// <param name="width">宽度</param>
        public DynamicColumnAttribute(string header, ColumnTypeEnum type, int index, int isShown = 1, int isSystem = 0, double width = 100)
        {
            Header   = header;
            Type     = type;
            Index    = index;
            IsShown  = isShown;
            IsSystem = isSystem;
            Width    = width;
        }
Esempio n. 4
0
        internal string GetColumnName(ColumnTypeEnum columnType, string alias)
        {
            var column = Columns.FirstOrDefault(r => r.ColumnType == columnType);

            if (column == null || string.IsNullOrEmpty(column.ColumnName))
            {
                return(null);
            }
            return(alias + "." + column.ColumnName);
        }
Esempio n. 5
0
 public ImpostazioneReportDettaglioDTO GetImpostazioneDettaglio(ColumnTypeEnum columnType, int idConto = 0, int ordineConto = 0)
 {
     ImpostazioneReportDettaglioDTO impostazioneReportDettaglio;
     if (columnType == ColumnTypeEnum.Conto)
         impostazioneReportDettaglio = _impostazioniReport.Dettaglio.FirstOrDefault(item => item.IdConto == idConto || item.OrdineConto.GetValueOrDefault() == ordineConto);
     else if(idConto > 0)
         impostazioneReportDettaglio = _impostazioniReport.Dettaglio.FirstOrDefault(item => item.IdBanca == idConto && item.ColumnType == columnType);
     else
         impostazioneReportDettaglio = _impostazioniReport.Dettaglio.FirstOrDefault(item => item.ColumnType == columnType);
     return impostazioneReportDettaglio;
 }
Esempio n. 6
0
        /// <summary>
        /// hàm dùng để convert giá trị từ string sang đúng type
        /// </summary>
        /// <param name="value">giá trị kiểu string</param>
        /// <param name="columnType">giá trị kiểu type</param>
        /// <returns></returns>
        /// created by: ntkien 03.06.2020
        public static object ConvertValueByType(string value, ColumnTypeEnum columnType)
        {
            object result = null;

            switch (columnType)
            {
            case ColumnTypeEnum.Boolean:
                result = default(bool);
                bool boolValue;
                bool.TryParse(value, out boolValue);
                result = boolValue;
                break;

            case ColumnTypeEnum.DateTime:
                result = default(DateTime);
                DateTime dateValue;
                DateTime.TryParse(value, out dateValue);
                result = dateValue;
                break;

            case ColumnTypeEnum.Int:
                result = default(int);
                int iValue;
                int.TryParse(value, out iValue);
                result = iValue;
                break;

            case ColumnTypeEnum.Decimal:
                result = default(decimal);
                decimal decimalValue;
                decimal.TryParse(value, out decimalValue);
                result = decimalValue;
                break;

            case ColumnTypeEnum.Guid:
                result = default(Guid);
                Guid guidValue;
                Guid.TryParse(value, out guidValue);
                result = guidValue;
                break;

            case ColumnTypeEnum.String:
                result = (value != null ? value.ToString() : "");
                break;
            }
            return(result);
        }
Esempio n. 7
0
 public TableColumn(int? idConto, int order, string description, string descriptionImporto, string descriptionMillesimi, float width, float? widthMillesimi, int printPage, ColumnTypeEnum columnType, string fontName, string fontStyle, float fontSize, bool hidden, bool hideMillesimi, bool hiddenOnTotale = false)
 {
     IdConto = idConto;
     Order = order;
     Description = description;
     DescriptionImporto = descriptionImporto;
     DescriptionMillesimi = descriptionMillesimi;
     Width = width;
     WidthMillesimi = widthMillesimi;
     PrintPage = printPage;
     ColumnType = columnType;
     FontName = fontName;
     FontStyle = fontStyle;
     FontSize = fontSize;
     MillesimiFontName = fontName;
     MillesimiFontSize = fontSize;
     MillesimiFontStyle = fontStyle;
     Hidden = hidden;
     HideMillesimi = hideMillesimi;
     HiddenOnTotale = hiddenOnTotale;
     GroupName = string.Empty;
 }
Esempio n. 8
0
        public static IQueryable <T> ApplyWhere <T>(this IQueryable <T> source, string propertyName, object propertyValue, ColumnTypeEnum propertyType, ExpressionOperationEnum operation) where T : class, new()
        {
            string proName = Utility.GetStandardPropertyName(new T(), propertyName);
            // 1. Retrieve member access expression
            var mba = PropertyAccessorCache <T> .Get(proName);

            if (mba == null)
            {
                return(source);
            }

            //2.Try converting value to correct type
            object value;

            //cách kiểm tra xem có phải là kiểu nullable ko?
            var    uType    = Nullable.GetUnderlyingType(mba.ReturnType);
            string typeName = (uType != null) ? uType.Name : mba.ReturnType.Name;

            try
            {
                value = Utility.ConvertValueByType(propertyValue, typeName);
            }
            catch (SystemException ex) when(
                ex is InvalidCastException ||
                ex is FormatException ||
                ex is OverflowException ||
                ex is ArgumentNullException)
            {
                return(source);
            }
            //convert

            var typeCompare = uType != null? uType:mba.ReturnType;
            var body        = Expression.Convert(mba.Body, typeCompare);
            var valExpress  = Expression.Constant(value, typeCompare);


            // 3. Construct expression tree
            Expression eqe = null;

            if (operation == ExpressionOperationEnum.Equals)
            {
                eqe = Expression.Equal(body, valExpress);
            }
            //lớn hơn
            else if (operation == ExpressionOperationEnum.GreatThan)
            {
                if (typeName.Equals("DateTime", StringComparison.OrdinalIgnoreCase))
                {
                    eqe = Expression.GreaterThan(body, Workaround_3361((DateTime)value));
                }
                else
                {
                    eqe = Expression.GreaterThan(body, valExpress);
                }
            }
            //lớn hơn hoặc bằng
            else if (operation == ExpressionOperationEnum.GreatThanEqual)
            {
                if (typeName.Equals("DateTime", StringComparison.OrdinalIgnoreCase))
                {
                    eqe = Expression.GreaterThanOrEqual(body, Workaround_3361((DateTime)value));
                }
                else
                {
                    eqe = Expression.GreaterThanOrEqual(body, valExpress);
                }
            }
            //nhỏ hơn
            else if (operation == ExpressionOperationEnum.LessThan)
            {
                if (typeName.Equals("DateTime", StringComparison.OrdinalIgnoreCase))
                {
                    eqe = Expression.LessThan(body, Workaround_3361((DateTime)value));
                }
                else
                {
                    eqe = Expression.LessThan(body, valExpress);
                }
            }
            //nhỏ hơn hoặc bằng
            else if (operation == ExpressionOperationEnum.LessThanEqual)
            {
                if (typeName.Equals("DateTime", StringComparison.OrdinalIgnoreCase))
                {
                    eqe = Expression.LessThanOrEqual(body, Workaround_3361((DateTime)value));
                }
                else
                {
                    eqe = Expression.LessThanOrEqual(body, valExpress);
                }
            }

            LambdaExpression expression = null;

            //chứa
            if (operation == ExpressionOperationEnum.Contains || operation == ExpressionOperationEnum.StartsWith || operation == ExpressionOperationEnum.EndsWith)
            {
                string methodName = "Contains";
                if (operation == ExpressionOperationEnum.StartsWith)
                {
                    methodName = "StartsWith";
                }
                else if (operation == ExpressionOperationEnum.EndsWith)
                {
                    methodName = "EndsWith";
                }
                var method        = typeof(string).GetMethod(methodName, new[] { typeof(string) });
                var valExpression = Expression.Constant(value, mba.ReturnType);
                var paramExp      = Expression.Parameter(typeof(T), "x");

                var memberExpression = Expression.Property(paramExp, propertyName);
                var methodExp        = Expression.Call(memberExpression, method, valExpression);
                expression = Expression.Lambda <Func <T, bool> >(methodExp, paramExp);
            }
            else
            {
                expression = Expression.Lambda(eqe, mba.Parameters[0]);
            }
            // 4. Construct new query
            MethodCallExpression resultExpression = Expression.Call(
                null,
                Utility.GetMethodInfo(Queryable.Where, source, (Expression <Func <T, bool> >)null),
                new Expression[] { source.Expression, Expression.Quote(expression) });

            return(source.Provider.CreateQuery <T>(resultExpression));
        }
Esempio n. 9
0
 internal bool TryGetColumnName(ColumnTypeEnum columnType, string alias, out string columnName)
 {
     columnName = GetColumnName(columnType, alias);
     return(columnName != null);
 }
Esempio n. 10
0
 void LoadState()
 {
     mSortbyColumn    = (ColumnTypeEnum)EditorPrefs.GetInt("SortbyColumn", 0);
     mShowUnversioned = EditorPrefs.GetBool("ShowUnversioned", true);
 }
        private void addColumn(ColumnTypeEnum columnTypeEnum, ImpostazioneReportDTO impostazioneReportDTO, int ordine, bool hidden, string groupName = null, decimal? width = null, string nome = null)
        {
            if (impostazioneReportDTO.Dettaglio.All(itemDettaglio => itemDettaglio.ColumnType != columnTypeEnum))
            {
                var dettaglioDTO = new ImpostazioneReportDettaglioDTO
                {
                    GroupName = groupName,
                    Conto = getColumnName(columnTypeEnum, ordine),
                    ColumnType = columnTypeEnum,
                    PrintPage = 1,
                    OrdineConto = ordine,
                    Hidden = hidden
                };

                if (!string.IsNullOrEmpty(nome))
                    dettaglioDTO.Conto = nome;

                if(width == null)
                    dettaglioDTO.Width = getColumnWidth(columnTypeEnum, ordine);
                else
                    dettaglioDTO.Width = (float?) width.GetValueOrDefault();

                impostazioneReportDTO.Dettaglio.Add(dettaglioDTO);
            }
        }
        private float getColumnWidth(ColumnTypeEnum columnType, int ordine)
        {
            float width;

            if (columnType == ColumnTypeEnum.Conto)
            {
                switch (ordine)
                {
                    case 9990:
                        width = 80f;
                        break;
                    case 9991:
                        width = 80f;
                        break;
                    case 9992:
                        width = 80f;
                        break;
                    case 9993:
                        width = 80f;
                        break;
                    case 9994:
                        width = 80f;
                        break;
                    case 9995:
                        width = 80f;
                        break;
                    case 9996:
                        width = 80f;
                        break;

                    case -30:
                        width = 80f;
                        break;
                    case -20:
                        width = 80f;
                        break;
                    case -10:
                        width = 80f;
                        break;

                    default:
                        width = 80f;
                        break;
                }
            }
            else
            {
                switch (columnType)
                {
                    case ColumnTypeEnum.OrdineUnita:
                        width = 60f;
                        break;
                    case ColumnTypeEnum.Nominativo:
                        width = 250f;
                        break;
                    case ColumnTypeEnum.TipoUnita:
                        width = 150f;
                        break;
                    case ColumnTypeEnum.Interno:
                        width = 50f;
                        break;
                    case ColumnTypeEnum.Piano:
                        width = 50f;
                        break;
                    case ColumnTypeEnum.Subalterno:
                        width = 50f;
                        break;
                    case ColumnTypeEnum.ProprietaConduzione:
                        width = 30f;
                        break;
                    case ColumnTypeEnum.MillesimiProprieta:
                        width = 80f;
                        break;

                    case ColumnTypeEnum.CodiceConto:
                        width = 60f;
                        break;
                    case ColumnTypeEnum.DescrizioneConto:
                        width = 250f;
                        break;
                    case ColumnTypeEnum.DataFattura:
                        width = 70f;
                        break;
                    case ColumnTypeEnum.NumeroFattura:
                        width = 80f;
                        break;
                    case ColumnTypeEnum.Protocollo:
                        width = 90f;
                        break;
                    case ColumnTypeEnum.DataPagamento:
                        width = 70f;
                        break;
                    case ColumnTypeEnum.DataVersamentoRitenuta:
                        width = 70f;
                        break;
                    case ColumnTypeEnum.Fornitore:
                        width = 150f;
                        break;
                    case ColumnTypeEnum.Importo:
                        width = 80f;
                        break;
                    case ColumnTypeEnum.ImportoProprieta:
                        width = 80f;
                        break;
                    case ColumnTypeEnum.ImportoConduzione:
                        width = 80f;
                        break;
                    case ColumnTypeEnum.Totale:
                        width = 80f;
                        break;

                    case ColumnTypeEnum.ImportoConsuntivoAnnoPrecedente:
                        width = 80f;
                        break;
                    case ColumnTypeEnum.ImportoPreventivoAnnoPrecedente:
                        width = 80f;
                        break;
                    case ColumnTypeEnum.ImportoScostamentoAnnoPrecedente:
                        width = 80f;
                        break;

                    case ColumnTypeEnum.NumeroRiga:
                        width = 30f;
                        break;
                    case ColumnTypeEnum.Data:
                        width = 70f;
                        break;
                    case ColumnTypeEnum.Descrizione:
                        width = 250f;
                        break;
                    case ColumnTypeEnum.TipoDocumento:
                        width = 80f;
                        break;
                    case ColumnTypeEnum.NumeroDocumento:
                        width = 80f;
                        break;
                    case ColumnTypeEnum.DataDocumento:
                        width = 70f;
                        break;
                    case ColumnTypeEnum.NumeroProtocollo:
                        width = 80f;
                        break;
                    case ColumnTypeEnum.ImportoCassaDare:
                        width = 80f;
                        break;
                    case ColumnTypeEnum.ImportoCassaAvere:
                        width = 80f;
                        break;
                    case ColumnTypeEnum.ImportoCassaSaldo:
                        width = 80f;
                        break;
                    case ColumnTypeEnum.ImportoBancaDare:
                        width = 80f;
                        break;
                    case ColumnTypeEnum.ImportoBancaAvere:
                        width = 80f;
                        break;
                    case ColumnTypeEnum.ImportoBancaSaldo:
                        width = 80f;
                        break;

                    default:
                        width = 80f;
                        break;
                }

            }

            return width;
        }
        private string getColumnName(ColumnTypeEnum columnType, int ordine)
        {
            var nome = string.Empty;

            if (columnType == ColumnTypeEnum.Conto)
            {
                switch (ordine)
                {
                    case 9990:
                        nome = "Totale Spese";
                        break;
                    case 9991:
                        nome = "Saldo Esercizio Precedente";
                        break;
                    case 9992:
                        nome = "Versato";
                        break;
                    case 9993:
                        nome = "a Debito";
                        break;
                    case 9994:
                        nome = "a Credito";
                        break;
                    case 9995:
                        nome = "Versamenti dopo chiusura";
                        break;
                    case 9996:
                        nome = "Spese Conduzione";
                        break;
                    case 9997:
                        nome = "Saldo Esercizio Corrente";
                        break;

                    case -30:
                        nome = "Totale Preventivo";
                        break;
                    case -20:
                        nome = "Saldo Esercizio Precedente";
                        break;
                    case -10:
                        nome = "Totale da Versare";
                        break;
                }
            }
            else
            {
                switch (columnType)
                {
                    case ColumnTypeEnum.OrdineUnita:
                        nome = "Unità";
                        break;
                    case ColumnTypeEnum.Nominativo:
                        nome = "Nominativo";
                        break;
                    case ColumnTypeEnum.TipoUnita:
                        nome = "Tipo Un.";
                        break;
                    case ColumnTypeEnum.Interno:
                        nome = "Int.";
                        break;
                    case ColumnTypeEnum.Piano:
                        nome = "Piano";
                        break;
                    case ColumnTypeEnum.Subalterno:
                        nome = "Sub.";
                        break;
                    case ColumnTypeEnum.ProprietaConduzione:
                        nome = "P/C";
                        break;
                    case ColumnTypeEnum.MillesimiProprieta:
                        nome = "Mill.Prop.";
                        break;

                    case ColumnTypeEnum.CodiceConto:
                        nome = "Codice";
                        break;
                    case ColumnTypeEnum.DescrizioneConto:
                        nome = "Descrizione";
                        break;
                    case ColumnTypeEnum.DataFattura:
                        nome = "Data Fattura";
                        break;
                    case ColumnTypeEnum.NumeroFattura:
                        nome = "Numero Fattura";
                        break;
                    case ColumnTypeEnum.Protocollo:
                        nome = "Prot.";
                        break;
                    case ColumnTypeEnum.DataPagamento:
                        nome = "Dt.Pagamento";
                        break;
                    case ColumnTypeEnum.DataVersamentoRitenuta:
                        nome = "Dt.Ritenuta";
                        break;
                    case ColumnTypeEnum.Fornitore:
                        nome = "Fornitore";
                        break;
                    case ColumnTypeEnum.Importo:
                        nome = "Importo movimento";
                        break;
                    case ColumnTypeEnum.ImportoProprieta:
                        nome = "Importo proprietà";
                        break;
                    case ColumnTypeEnum.ImportoConduzione:
                        nome = "Importo conduzione";
                        break;
                    case ColumnTypeEnum.Totale:
                        nome = "Totale conto";
                        break;

                    case ColumnTypeEnum.ImportoConsuntivoAnnoPrecedente:
                        nome = "Consuntivo Precedente";
                        break;
                    case ColumnTypeEnum.ImportoPreventivoAnnoPrecedente:
                        nome = "Preventivo Precedente";
                        break;
                    case ColumnTypeEnum.ImportoScostamentoAnnoPrecedente:
                        nome = "Scostamento";
                        break;
                        
                    case ColumnTypeEnum.NumeroRiga:
                        nome = "Num.";
                        break;
                    case ColumnTypeEnum.Data:
                        nome = "Data";
                        break;
                    case ColumnTypeEnum.Descrizione:
                        nome = "Descrizione";
                        break;
                    case ColumnTypeEnum.TipoDocumento:
                        nome = "Tipo";
                        break;
                    case ColumnTypeEnum.NumeroDocumento:
                        nome = "Num.";
                        break;
                    case ColumnTypeEnum.DataDocumento:
                        nome = "Data";
                        break;
                    case ColumnTypeEnum.NumeroProtocollo:
                        nome = "Prot.";
                        break;
                    case ColumnTypeEnum.ImportoCassaDare:
                        nome = "Entrate";
                        break;
                    case ColumnTypeEnum.ImportoCassaAvere:
                        nome = "Uscite";
                        break;
                    case ColumnTypeEnum.ImportoCassaSaldo:
                        nome = "Saldo";
                        break;
                    case ColumnTypeEnum.ImportoBancaDare:
                        nome = "Entrate";
                        break;
                    case ColumnTypeEnum.ImportoBancaAvere:
                        nome = "Uscite";
                        break;
                    case ColumnTypeEnum.ImportoBancaSaldo:
                        nome = "Saldo";
                        break;
                }
  
            }

            return nome;
        }
Esempio n. 14
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="columnType">列特殊类型</param>
 public BaseAttribute(ColumnTypeEnum columnType)
 {
     this.ColumnType = columnType;
 }
Esempio n. 15
0
        private ImpostazioneReportDettaglioDTO getColumn(ColumnTypeEnum columnType)
        {
            if (_impostazioneReportDTO != null)
            {
                impostazioneReportDTOBindingSource.DataSource = _impostazioneReportDTO;
                return _impostazioneReportDTO.Dettaglio.FirstOrDefault(item => item.ColumnType == columnType);
            }

            return new ImpostazioneReportDettaglioDTO { Hidden = true };
        }
Esempio n. 16
0
 public ColumnAttribute(ColumnTypeEnum type)
 {
     Type = type;
 }
Esempio n. 17
0
    void OnGUI()
    {
        EditorGUILayout.BeginVertical();
        GUILayoutOption[] buttonLayout = { GUILayout.MaxWidth(50) };
        {// Buttons at top
            EditorGUILayout.BeginHorizontal(EditorStyles.toolbar);

            using (new PushState <bool>(GUI.enabled, !mSVNBusy, v => GUI.enabled = v))
            {
                if (GUILayout.Button(SVNTerminoligy.status, EditorStyles.toolbarButton, buttonLayout) || Event.current.keyCode == KeyCode.F5)
                {
                    EditorApplication.SaveAssets();
                    SVNCommands.instance.UpdateSVNStatus();
                }
                if (GUILayout.Button(SVNTerminoligy.update, EditorStyles.toolbarButton, buttonLayout))
                {
                    SVNCommands.SVNUpdate();
                }
                if (GUILayout.Button(SVNTerminoligy.revert, EditorStyles.toolbarButton, buttonLayout))
                {
                    EditorApplication.SaveAssets();
                    SVNCommands.instance.SVNRevert(GetSelectedAssets().ToArray());
                }
                if (GUILayout.Button(SVNTerminoligy.delete, EditorStyles.toolbarButton, buttonLayout))
                {
                    SVNCommands.instance.SVNDelete(GetSelectedAssets().ToArray());
                }
                if (GUILayout.Button(SVNTerminoligy.unlock, EditorStyles.toolbarButton, buttonLayout))
                {
                    SVNCommands.instance.SVNReleaseLock(GetSelectedAssets().ToArray());
                }
                if (GUILayout.Button(SVNTerminoligy.commit, EditorStyles.toolbarButton, buttonLayout))
                {
                    var assetsToBeCommited = GetSelectedAssets();
                    SVNCommands.instance.SVNCommit(assetsToBeCommited, mCommitMessage.Length == 0 ? "Commit from Unity" : mCommitMessage);
                }
            }

            mCommitMessage = GUILayout.TextField(mCommitMessage, EditorStyles.toolbarTextField, GUILayout.MinWidth(100), GUILayout.ExpandWidth(true));
            bool newShowUnversioned = GUILayout.Toggle(mShowUnversioned, "Unversioned", EditorStyles.toolbarButton, new GUILayoutOption[] { GUILayout.MaxWidth(80) });

            if (newShowUnversioned != mShowUnversioned)
            {
                mShowUnversioned = newShowUnversioned;
                UpdateFilteringOfKeys();
            }

            EditorGUILayout.EndHorizontal();
            EditorGUILayout.Separator();
        }

        {// SVN elements on scrollable list
            const int columnSpacing = 20;

            GUILayoutOption[] propertyLayout  = { GUILayout.MaxWidth(75), GUILayout.Width(75) };
            GUILayoutOption[] assetPathLayout = { GUILayout.MaxWidth(600), GUILayout.Width(600) };

            var headingStyle = new GUIStyle(GUI.skin.label);
            var labelStyle   = new GUIStyle(GUI.skin.label);
            //labelStyle.normal.textColor = GUI.skin.label.normal new Color(0.2f, 0.2f, 0.2f);

            var selectedLabelStyle = new GUIStyle(labelStyle);
            //selectedLabelStyle.normal.textColor = new Color(0.0f, 0.0f, 0.0f);

            { // Header
                EditorGUILayout.BeginHorizontal();
                headingStyle.fontStyle = FontStyle.Bold;
                if (GUILayout.Button("\tAsset Path", headingStyle, assetPathLayout))
                {
                    if (mSortbyColumn == ColumnTypeEnum.AssetPath)
                    {
                        mReverseColumnSort = !mReverseColumnSort;
                    }
                    else
                    {
                        mReverseColumnSort = false;
                    }
                    mSortbyColumn = ColumnTypeEnum.AssetPath;
                    UpdateFilteringOfKeys();
                }
                GUILayout.Space(columnSpacing);

                //(reverseColumnSort ? "△" : "▽")
                if (GUILayout.Button("File Type", headingStyle, propertyLayout))
                {
                    if (mSortbyColumn == ColumnTypeEnum.FileType)
                    {
                        mReverseColumnSort = !mReverseColumnSort;
                    }
                    else
                    {
                        mReverseColumnSort = false;
                    }
                    mSortbyColumn = ColumnTypeEnum.FileType;
                    UpdateFilteringOfKeys();
                }
                GUILayout.Space(columnSpacing);


                if (GUILayout.Button("File Status", headingStyle, propertyLayout))
                {
                    if (mSortbyColumn == ColumnTypeEnum.FileStatus)
                    {
                        mReverseColumnSort = !mReverseColumnSort;
                    }
                    else
                    {
                        mReverseColumnSort = false;
                    }
                    mSortbyColumn = ColumnTypeEnum.FileStatus;
                    UpdateFilteringOfKeys();
                }
                GUILayout.Space(columnSpacing);


                if (GUILayout.Button("Locked By", headingStyle, propertyLayout))
                {
                    if (mSortbyColumn == ColumnTypeEnum.LockedBy)
                    {
                        mReverseColumnSort = !mReverseColumnSort;
                    }
                    else
                    {
                        mReverseColumnSort = false;
                    }
                    mSortbyColumn = ColumnTypeEnum.LockedBy;
                    UpdateFilteringOfKeys();
                }

                headingStyle.fontStyle = FontStyle.Normal;
                EditorGUILayout.EndHorizontal();
                EditorGUILayout.Separator();
            }
            mScrollViewVectorEntries = EditorGUILayout.BeginScrollView(mScrollViewVectorEntries, false, false);

            // List content
            if (mFilteredKeysOfInterrest != null && mFilteredKeysOfInterrest.Count() != 0)
            {
                foreach (SVNKeyValuePair svnStatusKeyIt in mFilteredKeysOfInterrest)
                {
                    if (!mSelectedAssets.ContainsKey(svnStatusKeyIt))
                    {
                        mSelectedAssets[svnStatusKeyIt] = false;
                    }
                    SVNStatus svnStatusValueIt = svnStatusKeyIt.svnStatus;
                    EditorGUILayout.BeginHorizontal();
                    Color previousColor = labelStyle.normal.textColor;
                    var   metaStatus    = mSVNStatusDatabase.GetMetaStatus(svnStatusKeyIt.key);
                    //if (metaStatus == null) Debug.Log("Missing meta file: " + svnStatusKeyIt.key);
                    bool metaModified = metaStatus != null &&
                                        metaStatus.fileStatus != ESVNFileStatus.Normal &&
                                        (metaStatus.fileStatus != ESVNFileStatus.Unversioned || metaStatus.fileStatus != svnStatusValueIt.fileStatus);
                    var tooltip = Path.GetFileName(svnStatusKeyIt.key) + ":\nsvn status :\t[" + svnStatusValueIt.fileStatus + "]";
                    if (metaStatus != null)
                    {
                        tooltip += "\nmeta status:\t[" + metaStatus.fileStatus + "]";
                    }

                    // AssetPath •
                    if (svnStatusValueIt.treeConflictStatus == ESVNTreeConflictStatus.TreeConflict)
                    {
                        labelStyle.normal.textColor = Color.red;
                    }
                    string assetPathText    = (mSelectedAssets[svnStatusKeyIt] ? "+\t" : "\t") + svnStatusKeyIt.key;
                    var    assetPathContent = new GUIContent(assetPathText);
                    if (GUILayout.Button(assetPathContent, (mSelectedAssets[svnStatusKeyIt] ? selectedLabelStyle : labelStyle), assetPathLayout))
                    {
                        mSelectedAssets[svnStatusKeyIt] = !mSelectedAssets[svnStatusKeyIt];
                    }
                    GUILayout.Space(columnSpacing);

                    // FileType
                    GUILayout.Label(GetFileType(svnStatusKeyIt.key), labelStyle, propertyLayout); GUILayout.Space(columnSpacing);
                    labelStyle.normal.textColor = GetStatusColorCode(svnStatusValueIt);

                    // FileStatus
                    var filestatusText    = svnStatusValueIt.fileStatus + (metaModified ? "(m)" : "") + (svnStatusValueIt.bypassRevisionControl ? "*" : "");
                    var filestatusContent = new GUIContent(filestatusText, tooltip);
                    GUILayout.Label(filestatusContent, labelStyle, propertyLayout); GUILayout.Space(columnSpacing);
                    labelStyle.normal.textColor = previousColor;

                    // LockedBy
                    GUILayout.Label(svnStatusValueIt.owner, labelStyle, propertyLayout);

                    EditorGUILayout.EndHorizontal();
                }
            }

            EditorGUILayout.EndScrollView();
        }
        { // SVN message box
            //Debug.Log(messageHistory.Count);
            string allEntries = "";
            if (mCurrentSVNOperation != null)
            {
                allEntries = "Currently executing following command:\n" + mCurrentSVNOperation;
            }
            else
            {
                for (int i = svnCommandHistory.Count - 1; i >= 0; i--)
                {
                    if (!svnCommandHistory[i].arguments.Contains("status --non-interactive --xml"))
                    {
                        allEntries += svnCommandHistory[i].command + " " + svnCommandHistory[i].arguments + ":\n" + svnCommandHistory[i].outputStr + "-----------------------\n";
                    }
                }
            }
            EditorGUILayout.BeginVertical(GUILayout.Height(135));
            EditorGUILayout.BeginHorizontal();
            GUILayout.Label(new GUIContent("SVN Output"));
            EditorGUILayout.EndHorizontal();
            mScrollViewVectorLog = EditorGUILayout.BeginScrollView(mScrollViewVectorLog, false, false);
            float heightOfLogInPixles = Mathf.Max(100.0f, GUI.skin.window.CalcSize(new GUIContent(allEntries)).y);

            GUI.skin.box.alignment = TextAnchor.UpperLeft;
            GUILayout.Box(allEntries, GUILayout.MinHeight(heightOfLogInPixles), GUILayout.ExpandWidth(true));
            EditorGUILayout.EndScrollView();
            EditorGUILayout.EndVertical();
        }

        EditorGUILayout.EndVertical();
    }
 /// <summary>
 /// tmAttribute
 /// </summary>
 /// <returns>ID of new row inserted to database.</returns>
 private int SetColumn(string name, int matrixDBID, ColumnTypeEnum columnSubType, ValueSubTypeEnum valueSubType, string formula, int primaryKeyPosition)
 {
     string tableName = "tmAttribute";
     /* MultiColumns are not implemented so if you want to implement it
      * you should implement appropriate box module and somewhere here
      * you should implement storing setting for the MultiColumn i.e.
      * MCPosition,MCLength,MCDelimeter
      * */
     //ValueMin,ValueMax,ValueAvg,ValueModus,ValueVariability are not stored its needless
     string autoIncrementColumn = GetAutoIncrementColumnName(tableName);
     int autoIncrementValue = GetTableAutoIncrementValue(tableName, 1);
     string query = "INSERT INTO " + tableName + " (" + autoIncrementColumn
         + ",Name,MatrixID,AttributeSubTypeID,ValueSubTypeID"
         + ",Formula,PrimaryKeyPosition,wSavedCountUsed) VALUES "
         + "(" + autoIncrementValue + ","
         + "'" + name + "',"
         + matrixDBID + ","
         + constants.ColumnSubTypeEnumDictionary[columnSubType] + ","
         + constants.ValueSubTypeEnumDictionary[valueSubType] + ","
         + "'" + formula + "',"
         + primaryKeyPosition + ","
         + constants.wSavedCountUsed
         + ")";
     ExecuteInsertQuery(query, tableName);
     return autoIncrementValue;
 }
Esempio n. 19
0
 public ColumnAttribute(string name, ColumnTypeEnum type)
 {
     Name = name;
     Type = type;
 }
Esempio n. 20
-1
 public ColumnAttribute(string columnName, int order, ColumnTypeEnum columnType = ColumnTypeEnum.Content, Filter filter = Filter.lowercase, CharFilter charFilter = CharFilter.io)
 {
     ColumnName = columnName;
     ColumnType = columnType;
     Order      = order;
     Analyzer   = Analyzer.whitespace;
     Filter     = filter;
     CharFilter = charFilter;
 }