Небольшую (менее 700 линий кода) математическую программу на Паскале (написана была на Турбо Паскале) необходимо переписать на Перле. Перловская программа должна работать под Юбунту. Программа должна быть переписана на Перле с максимальным сохранением первоначальной структуры, поэтому ...
C# приложение для рисования направленных графов
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.
Нужно создать приложение, которое позволяет пользователю рисовать направленный граф на C#. Обратите внимание – любой направленный граф, а не только дерево или интеллект карту!
Для дальнейшего описания определимся с терминологией. Узлы (или ноды) – вершины графа. Связи – ребра графа.
Узлам должна быть возможность задавать размер, иконки, текст. Во внутреннем представлении узла должно присутствовать текстовое поле Description. Желательно сделать нод такой формы prntscr.com/dk7xfc . Высота у него всегда одинаковая, а длина может меняться в зависимости от длины текста в нем. Из вышесказанного также делаем вывод – текст должен всегда находиться в ноде
Для связей нужно иметь возможность задать текст (который лежит на ребре) и оформление. На конце связи (то есть на узле, куда приходит связь) должна быть стрелочка prnt.sc/dk7yea
Требования к внешнему виду: жестких нету, но по возможности посимпатичнее) Чем ближе Mindjet MindManager , тем лучше)
Должно поддерживаться:
1. при нажатии на нод он должен просто выделяться (для выделеного пусть будет окаемка какая то специфическая prntscr.com/dkuyg9 )
2. Перемещение узлов: зажали мышку захватили и несем куда хотим. Когда завершили движение и отпустили мышку – все передвижение закончилось.
3. При клике левой кнопкой мышки на свободном участке экрана – создается нод.
4. при наведении мышки на нод у него на каждой из сторон появляются кружочки (по аналогии как здесь плюсики prntscr.com/dkuxk0 ). Для создания связи между двумя нодами пользователь должен сделать mousedown на одном из кружочков исходного нода и дотянуть мышку до другого нода. Таким образом у нода 4 кружочка и от любого из них может отходить к другим нодам любое количество связей. Связи на других нодах заканчиваются в произвольной локации.
5. Отображение поля Description нода. Создаем панель справа (она ВНЕ поля для рисования нодов). При выделении конкретного нода на панели отображается поле RichTextBox, в котором выводится Description этого нода. Пользователь может его редактировать. При снятии выделения новое значение (отредактированное) автоматически сохраняет как актуальный Description prntscr.com/dkuz6m
Будущее:
- Автомасштабирование расположения новых вершин с окружения (других вершин), среди которых они созданы.
- Возможность делать дуговые ребра prntscr.com/dml2hu
Нарисованный граф должен сериализоваться в xml (и соответственно десериализоваться).
Приложение делаем на C# .NET4 под VS 2012. На выходе – проект с исходниками. Можно юзать любую готовую бесплатную либу. Обсудим варианты готовых решений или технологий на базе которых реализовать. Можно, например, на WPF. После реализации отдельно нужно будет создать документацию.
Заявки фрилансеров
Похожие заказы
- Прикладное ПО4 заявкиЗакрыт8 лет назад
Для лабораторной работы нужен архиватор ТЗ: - Нужен архиватор, похожий внешне на WinRAR - Можете найти и взять любые готовые исходники и поправить только название, окно о программе - Скомпилировать в ...
Прикладное ПО1 исполнительЗакрыт8 лет назад- $50
Нужна помощь в написании парсера Org-файлов с использованием Parsec (Haskell). Общаться нужно будет посредством Skype, Email, TeamViewer.
Прикладное ПО1 заявкаЗакрыт8 лет назад - $100
Нужно научить меня пользоваться OrgMode посредством общения и удалённых сессий (TeamViewer, Skype, Email), а также провести обзор исходников пакета org. Нужно будет провести серию консультаций до полного освоения OrgMode. От вас нужно знание исходников Emacs ...
Прикладное ПОнет заявокЗакрыт8 лет назад Запрограммировать 3 алгоритма семеричного шифрования + программу RSA шифрования Сроки сжатые 12 часов Жду ваших предложений по цене и срокам.
Прикладное ПО2 заявкиЗакрыт8 лет назадРазработан миниатюрный наручный GPS трекер, необходимо написать firmware. . знание 8-ми разрядных контроллеров производства SiLabs, ОПЫТ работы с GSM модулями (сервис пакетной передачи данных - GPRS), ну и Си разумеется. Взяли на данную задачу знаменитого ...
Прикладное ПО2 заявкиЗакрыт8 лет назадПростая программка под виндовс. Есть несколько обновляемых текстовых файлов, нужно их синхронизировать в один, собирая недостающие данные из них и фильтруя дубли строк. Учесть возможность забора из www. Ну и сигналить, если какие то из ...
Прикладное ПО1 исполнительЗавершен8 лет назадРазработать программное обеспечение для автоматизированной информационной системы "Учебная группа". База данных должна содержать сведения о студентах одной студенческой группы техникума, включая ФИО,пол,дату рождения,адрес проживания,телефон,сведения о родителях,рабочие телефоны родителей,номер студенческого билета, а также сведения об успеваемости ...
Прикладное ПО2 заявкиЗакрыт8 лет назадНужна программа для работы в лайм такси или яндекс через которую можно получать первым заказы указывая параметры заказов; Дальность поездки, радиус перехвата заказов и.т.д
Прикладное ПО1 заявкаЗакрыт8 лет назадС помощью библиотеки OpenCV (с++ или c#) необходимо написать программу выделения объектов на видео. Камера имеет статичное положение. Необходимо среди объектов определить человека и определить цвет его одежды. Нужно: 1) Определить, ...
Прикладное ПО2 заявкиЗакрыт8 лет назад