Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 95ce439
Showing
327 changed files
with
92,368 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
|
||
CONFIG -= debug release_and_debug | ||
CONFIG += release | ||
|
||
mac:CONFIG += x86 ppc | ||
mac:CONFIG -= gnu-libiconv | ||
unix:QMAKE_DEL_FILE=rm -rf | ||
|
||
OBJECTS_DIR = build/obj | ||
MOC_DIR = build/moc | ||
UI_DIR = build/ui | ||
RCC_DIR = build/rcc | ||
|
||
|
||
QMAKE_DISTCLEAN += build/obj build/moc build/ui build/rcc build | ||
|
||
INSTALL_BASE = deploy |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
KISS 1.9.0: | ||
- CBC target was added | ||
|
||
KISS 1.4.9: | ||
- Fixed flipped axis problem | ||
- Minor performance improvements on all platforms | ||
|
||
KISS 1.4.8: | ||
- Added better support for various versions of OpenGL | ||
|
||
KISS 1.4.7: | ||
- Fixed gcc.target file for linux | ||
- Fixed srand | ||
- Fixed fopen, now defaults to opening files with the same path as the program | ||
- /** comments now colorize correctly | ||
- Match case checkbox now behaves correctly | ||
- Save as now adds .c extension on all platforms | ||
- Font size increases now affect margin width |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
KISS 3rd Party Software: | ||
Qt | ||
QScintilla | ||
GLFW | ||
GLee | ||
|
||
Qt and QScintilla must be installed on your computer. Installing these packages is simple, but slightly different on each platform. | ||
|
||
Qt can be found at http://www.trolltech.com | ||
QScintilla can be found at http://riverbankcomputing.co.uk | ||
|
||
GLFW and GLee binaries are included in the source package for convenience, as well as sources. | ||
|
||
To build KISS, run the following commands: | ||
|
||
cd ${KISS-SOURCE-DIR} | ||
qmake | ||
make | ||
make install | ||
|
||
After these commands are run, there should be a new directory in the KISS root directory named 'deployment'. This directory will contain the KISS binary along with the current stable targets. Have fun, and good luck! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
##################################################################### | ||
# Automatically generated by qmake (2.01a) Thu Aug 2 18:29:15 2007 | ||
###################################################################### | ||
|
||
include(../config.pri) | ||
|
||
TEMPLATE = app | ||
TARGET = KISS | ||
DEPENDPATH += src | ||
INCLUDEPATH += src | ||
DESTDIR=.. | ||
|
||
macx: ICON = rc/mac_icon.icns | ||
win32: RC_FILE = rc/kiss.rc | ||
|
||
win32 { | ||
INCLUDEPATH += Qsci | ||
CONFIG -= embed_manifest_exe | ||
} | ||
|
||
LIBS += -lqscintilla2 | ||
|
||
win32: LIBS += -lshell32 | ||
|
||
# Input | ||
HEADERS += src/MainWindow.h \ | ||
src/ChooseTargetDialog.h \ | ||
src/ChoosePortDialog.h \ | ||
src/EditorSettingsDialog.h \ | ||
src/TargetSettingsDialog.h \ | ||
src/FindDialog.h \ | ||
src/Target.h \ | ||
src/SourceFile.h \ | ||
src/Lexer.h \ | ||
src/LexerSpec.h \ | ||
src/LexerStyles.h \ | ||
src/Version.h | ||
|
||
SOURCES += src/main.cpp \ | ||
src/MainWindow.cpp \ | ||
src/ChooseTargetDialog.cpp \ | ||
src/ChoosePortDialog.cpp \ | ||
src/EditorSettingsDialog.cpp \ | ||
src/TargetSettingsDialog.cpp \ | ||
src/FindDialog.cpp \ | ||
src/Target.cpp \ | ||
src/SourceFile.cpp \ | ||
src/Lexer.cpp | ||
|
||
FORMS += ui/MainWindow.ui \ | ||
ui/ChooseTargetDialog.ui \ | ||
ui/ChoosePortDialog.ui \ | ||
ui/FindDialog.ui \ | ||
ui/EditorSettingsDialog.ui \ | ||
ui/TargetSettingsDialog.ui | ||
|
||
RESOURCES = rc/icons.qrc | ||
|
||
unix:QMAKE_CLEAN += src/*~ | ||
|
||
#install directives | ||
|
||
changelog.files = ../dog/ChangeLog.txt | ||
changelog.path = ../$${INSTALL_BASE} | ||
|
||
target.path += ../$${INSTALL_BASE} | ||
INSTALLS += target changelog | ||
|
||
macx:{ | ||
install_libs.extra = sh ../scripts/osx_install_dylibs.sh ../$${INSTALL_BASE}/KISS.app QtCore QtGui | ||
install_libs.path = ../$${INSTALL_BASE} | ||
|
||
INSTALLS += install_libs | ||
} |
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
Silk icon set 1.3 | ||
|
||
_________________________________________ | ||
Mark James | ||
http://www.famfamfam.com/lab/icons/silk/ | ||
_________________________________________ | ||
|
||
This work is licensed under a | ||
Creative Commons Attribution 2.5 License. | ||
[ http://creativecommons.org/licenses/by/2.5/ ] | ||
|
||
This means you may use it for any purpose, | ||
and make any changes you like. | ||
All I ask is that you include a link back | ||
to this page in your credits. | ||
|
||
Are you using this icon set? Send me an email | ||
(including a link or picture if available) to | ||
mjames@gmail.com | ||
|
||
Any other questions about this icon set please | ||
contact mjames@gmail.com |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
<RCC> | ||
<qresource prefix="/shortcuts/edit" > | ||
<file>icon_set/icons/arrow_redo.png</file> | ||
<file>icon_set/icons/arrow_undo.png</file> | ||
<file>icon_set/icons/cut.png</file> | ||
<file>icon_set/icons/page_white_copy.png</file> | ||
<file>icon_set/icons/page_white_paste.png</file> | ||
</qresource> | ||
<qresource prefix="/shortcuts/file" > | ||
<file>icon_set/icons/cross.png</file> | ||
<file>icon_set/icons/disk.png</file> | ||
<file>icon_set/icons/folder.png</file> | ||
<file>icon_set/icons/page_white.png</file> | ||
</qresource> | ||
<qresource prefix="/shortcuts/target" > | ||
<file>icon_set/icons/application_go.png</file> | ||
<file>icon_set/icons/application_put.png</file> | ||
<file>icon_set/icons/brick.png</file> | ||
<file>icon_set/icons/brick_go.png</file> | ||
<file>icon_set/icons/bricks.png</file> | ||
<file>icon_set/icons/bullet_arrow_down.png</file> | ||
<file>icon_set/icons/bullet_go.png</file> | ||
<file>icon_set/icons/cog_go.png</file> | ||
<file>icon_set/icons/link.png</file> | ||
<file>icon_set/icons/page_white_put.png</file> | ||
<file>icon_set/icons/ruby_blue.png</file> | ||
<file>icon_set/icons/shape_flip_vertical.png</file> | ||
<file>icon_set/icons/spellcheck.png</file> | ||
<file>icon_set/icons/stop.png</file> | ||
<file>icon_set/icons/tick.png</file> | ||
</qresource> | ||
<qresource prefix="/" > | ||
<file>splash_screen.png</file> | ||
</qresource> | ||
</RCC> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
IDI_ICON1 ICON DISCARDABLE "rc\\windows_icon.ico" |
Empty file.
Oops, something went wrong.
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,171 @@ | ||
/************************************************************************** | ||
* Copyright 2007,2008,2009 KISS Institute for Practical Robotics * | ||
* * | ||
* This file is part of KISS (Kipr's Instructional Software System). * | ||
* * | ||
* KISS is free software: you can redistribute it and/or modify * | ||
* it under the terms of the GNU General Public License as published by * | ||
* the Free Software Foundation, either version 2 of the License, or * | ||
* (at your option) any later version. * | ||
* * | ||
* KISS is distributed in the hope that it will be useful, * | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of * | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * | ||
* GNU General Public License for more details. * | ||
* * | ||
* You should have received a copy of the GNU General Public License * | ||
* along with KISS. Check the LICENSE file in the project root. * | ||
* If not, see <http://www.gnu.org/licenses/>. * | ||
**************************************************************************/ | ||
|
||
#include "ChoosePortDialog.h" | ||
|
||
#include <QStringList> | ||
#include <QString> | ||
#include <QDir> | ||
#include <QFileInfo> | ||
#include <QVBoxLayout> | ||
#include <QList> | ||
#include <QRadioButton> | ||
#include <QInputDialog> | ||
|
||
#ifndef Q_OS_WIN32 | ||
#include <termios.h> | ||
#include <fcntl.h> | ||
#include <unistd.h> | ||
#else | ||
#include <windows.h> | ||
#endif | ||
|
||
// Constructor | ||
ChoosePortDialog::ChoosePortDialog(QWidget *parent) : QDialog(parent) | ||
{ | ||
setupUi(this); | ||
|
||
// Set up the refresh button | ||
connect(ui_refreshButton, SIGNAL(clicked()), this, SLOT(refreshPortList())); | ||
} | ||
|
||
// Destructor | ||
ChoosePortDialog::~ChoosePortDialog() | ||
{ | ||
clearPortButtonList(); | ||
} | ||
|
||
// Clears the portButtonList, deleting the entries | ||
// and cleaning out the ui_portGroupBox | ||
void ChoosePortDialog::clearPortButtonList() | ||
{ | ||
delete ui_portGroupBox->layout(); | ||
|
||
QListIterator<QRadioButton*> i(m_portButtonList); | ||
while(i.hasNext()) | ||
delete i.next(); | ||
m_portButtonList.clear(); | ||
} | ||
|
||
// Ugly code to check port availability | ||
void ChoosePortDialog::refreshPortList() | ||
{ | ||
QStringList portList; | ||
|
||
clearPortButtonList(); | ||
|
||
#ifdef Q_OS_WIN32 | ||
/* WINDOWS ONLY */ | ||
|
||
// Sets the timeouts so that operations are non-blocking | ||
COMMTIMEOUTS cto; | ||
cto.ReadIntervalTimeout = MAXDWORD; | ||
cto.ReadTotalTimeoutMultiplier = 0; | ||
cto.ReadTotalTimeoutConstant = 0; | ||
cto.WriteTotalTimeoutMultiplier = 0; | ||
cto.WriteTotalTimeoutConstant = 0; | ||
|
||
|
||
// Scan through ports 1-32 | ||
for(int i = 1;i <= 32;i++) { | ||
QString portName = "com" + QString::number(i); | ||
QString realPortName = "\\\\.\\com" + QString::number(i); | ||
|
||
HANDLE handle = CreateFileA(realPortName.toLocal8Bit(), | ||
GENERIC_READ | GENERIC_WRITE, | ||
0, NULL, OPEN_EXISTING, 0, 0); | ||
|
||
// Add the port to the list of available names if it's valid | ||
if(handle != INVALID_HANDLE_VALUE) { | ||
CloseHandle(handle); | ||
portList << portName; | ||
} | ||
} | ||
/* END WINDOWS ONLY */ | ||
#else | ||
/* LINUX/MAC ONLY */ | ||
QDir devDirectory("/dev"); | ||
QStringList devListFilter; | ||
|
||
// Determines how to look for serial port files | ||
// depending on your platform | ||
#ifdef Q_OS_MAC | ||
devListFilter << "tty.*"; | ||
#else | ||
devListFilter << "ttyS*"; | ||
#endif | ||
|
||
// Basically the same as "ls /dev/tty.*" or "ls /dev/ttyS*" | ||
QFileInfoList potentialPortList = devDirectory.entryInfoList(devListFilter, QDir::System | QDir::CaseSensitive); | ||
|
||
//Check through the returned ports to see which ones might be valid | ||
QListIterator<QFileInfo> i(potentialPortList); | ||
while(i.hasNext()) { | ||
QFileInfo current = i.next(); | ||
int stream = ::open(current.absoluteFilePath().toLocal8Bit(), O_RDWR | O_NDELAY); | ||
struct termios tio; | ||
// If I can get serial attributes then the port is good | ||
if(tcgetattr(stream, &tio) != -1) | ||
portList << current.absoluteFilePath(); | ||
::close(stream); | ||
} | ||
/* END LINUX/MAC ONLY */ | ||
#endif | ||
|
||
// Add the ports we just found to ui_portGroupBox | ||
ui_portGroupBox->setLayout(new QVBoxLayout()); | ||
QStringListIterator strings(portList); | ||
for(int i = 0;strings.hasNext();i++) { | ||
m_portButtonList.push_back(new QRadioButton(strings.next())); | ||
ui_portGroupBox->layout()->addWidget(m_portButtonList[i]); | ||
} | ||
} | ||
|
||
//Show the dialog, refresh the port list, and run the dialog | ||
int ChoosePortDialog::exec() | ||
{ | ||
show(); | ||
refreshPortList(); | ||
return QDialog::exec(); | ||
} | ||
|
||
// Figure out which port was selected and return it, or nothing if none are | ||
QString ChoosePortDialog::getSelectedPortName() | ||
{ | ||
QListIterator<QRadioButton*> i(m_portButtonList); | ||
while(i.hasNext()) { | ||
QRadioButton *button = i.next(); | ||
if(button->isChecked()) | ||
return button->text(); | ||
} | ||
return QString(); | ||
} | ||
|
||
void ChoosePortDialog::on_ui_addPortButton_clicked(bool) | ||
{ | ||
bool hitOk; | ||
QString portName = QInputDialog::getText(this, "Add Port", "Port name: ", QLineEdit::Normal, QString(), &hitOk); | ||
|
||
if(!hitOk) | ||
return; | ||
|
||
m_portButtonList.push_back(new QRadioButton(portName)); | ||
ui_portGroupBox->layout()->addWidget(m_portButtonList.back()); | ||
} |
Oops, something went wrong.