Coder Social home page Coder Social logo

descriptorsview's Introduction

Table Mapper

==============

Алгоритм работы программы

1. Открываю файлы

Повторяю 2 раза:

    - Создаю диалог открытия 
    - Даю юзеру возможность выбрать файл
    - Копирую полный путь к файлу
    - ScanLine функция в цикле по количеству строк

2. Валидация выбранных юзером файлов

Читаю оба файла. Чтобы файлы считать корректными необходимо и достаточно:

    + Файлы одного расш ирения
    + Число строк равно 
    + Разделитель - запятая 
    + Имена столбов совпадают соответсвенно

3. Отображаю их в табличках

    - Создаю новую вкладку Tab Widget 
    - Добавляю туда виджет TableView 
    - Создаю TableModel с заголовком равным первой строке файла.
    - Первый столбец = ID = Primary Key - заголовочный столбец
    - В TableModel копирую табличку из файла, все просто так без разбора.

4. Формирую список параметр.ов (делегатор)

    - Создаю табличную модель в которой будет 4 типа параметров:
        4.1. Выбрано/Не выбрано 
        4.2. Название поля
        4.3. Ссылка на значение первой таблицы
        4.4. Ссылка на значение второй таблицы
    - Создаю ListView соответсвенно с этой моделью 
    - Устанавливаю листнер (настраиваю сигнал-слот) на нажатия пользователя 
    - Как только произошло нажатие достаю из обоих таблиц значение ячейки такой то столб такой то параметр 
    - Полученные значения помещаю в вызов функции отрисовки графика

5. Отображаю на графике

    - Создаю вектор всех возможных значений выбранного пользователем 
    - Для этого веткора считаю min/max и медиану
    - Формирую оси : размах от min до max, цена деления = медиана. Название оси = название параметра. 
    - Для выбранного параметра, по его названию определяю номер столбца содержащего СКО этого параметра
    - Отображаю на графике для каждого объекта (строки) точки с координатами х = значение параметра для этого объекта из файла А, y = значение соответсвующего параметра из файла B соответственно. 
    - В классе точки будут содержаться 2 ссылки на строка+столбец этой точки (объекта)  в исходных таблицах 

** 6. Для 5-го пунта желательно **

  • Сделать таблицу масштабируемой
  • Отображать вокруг точек полупрозрачную область погрешности, которая будет представлять из себя круг диаметром 2 * ср. ар. СКО для указанного параметра помещенного центром в координату точки
  • При наведении мыши на точку отображается ацйди объекта и если на него кликнуть идет переход к этому параметру

descriptorsview's People

Contributors

gurmaaan avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.