Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 8801


Ignore:
Timestamp:
Jul 30, 2011, 9:31:05 PM (13 years ago)
Author:
landauf
Message:

fixed bug with multiple lines in shell.
adjusted colors in IOConsole and InGameConsole a bit

Location:
code/branches/output/src
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • code/branches/output/src/libraries/core/LuaState.cc

    r8796 r8801  
    239239    void LuaState::luaLog(unsigned int level, const std::string& message)
    240240    {
    241 #pragma message(__FILE__ "("BOOST_PP_STRINGIZE(__LINE__)") : Warning: TODO: use correct level (and remove boost include)")
     241#pragma message(__FILE__ "("BOOST_PP_STRINGIZE(__LINE__)") : Warning: TODO: use correct level, inspect lua support (and remove boost include)")
    242242        orxout(debug_output, context::lua) << "luaLog (level: " << level << "): " << message << endl;
    243243    }
  • code/branches/output/src/libraries/core/command/IOConsoleWindows.cc

    r8799 r8801  
    214214
    215215            case Shell::Verbose:         colour = FOREGROUND_INTENSITY | 0              | 0                | FOREGROUND_BLUE; break;
    216             case Shell::VerboseMore:     colour = 0                    | 0              | 0                | FOREGROUND_BLUE; break;
    217             case Shell::VerboseUltra:    colour = 0                    | 0              | 0                | FOREGROUND_BLUE; break;
     216            case Shell::VerboseMore:     colour = FOREGROUND_INTENSITY | 0              | 0                | FOREGROUND_BLUE; break;
     217            case Shell::VerboseUltra:    colour = FOREGROUND_INTENSITY | 0              | 0                | FOREGROUND_BLUE; break;
    218218
    219219            case Shell::Command:         colour = FOREGROUND_INTENSITY | FOREGROUND_RED | 0                | FOREGROUND_BLUE; break;
  • code/branches/output/src/libraries/core/command/Shell.cc

    r8799 r8801  
    3333
    3434#include "Shell.h"
     35
     36#include <boost/preprocessor/stringize.hpp>
    3537
    3638#include "util/Math.h"
     
    4850namespace orxonox
    4951{
     52#pragma message(__FILE__ "("BOOST_PP_STRINGIZE(__LINE__)") : Warning: TODO: add commands again, inspect tcl support (and remove boost include)")
    5053//    SetConsoleCommand("log",     OutputHandler::log    );
    5154//    SetConsoleCommand("error",   OutputHandler::error  ).hide();
     
    251254
    252255    /**
    253         @brief Sends output to the internal output buffer.
     256        @brief Adds multiple lines to the internal output buffer.
    254257    */
    255258    void Shell::addOutput(const std::string& text, LineType type)
    256259    {
     260        std::vector<std::string> lines;
     261        vectorize(text, '\n', &lines);
     262
     263        for (size_t i = 0; i < lines.size(); ++i)
     264            this->addLine(lines[i], type);
     265    }
     266
     267    /**
     268        @brief Adds a line to the internal output buffer.
     269    */
     270    void Shell::addLine(const std::string& line, LineType type)
     271    {
    257272        // yes it was - push the new line to the list
    258         this->outputLines_.push_front(std::make_pair(text, static_cast<LineType>(type)));
     273        this->outputLines_.push_front(std::make_pair(line, static_cast<LineType>(type)));
    259274
    260275        // adjust the scroll position if needed
     
    286301    void Shell::printLine(const std::string& line, OutputLevel level)
    287302    {
    288         this->addOutput(line, static_cast<LineType>(level));
     303        this->addLine(line, static_cast<LineType>(level));
    289304    }
    290305
  • code/branches/output/src/libraries/core/command/Shell.h

    r8799 r8801  
    132132
    133133            void addOutput(const std::string& text, LineType type = DebugOutput);
     134            void addLine(const std::string& line, LineType type = DebugOutput);
    134135            void clearOutput();
    135136
  • code/branches/output/src/libraries/util/StringUtils.cc

    r8232 r8801  
    7979        for (; pos2 > 0         && (str[pos2] == ' ' || str[pos2] == '\t' || str[pos2] == '\n'); pos2--);
    8080        return str.substr(pos1, pos2 - pos1 + 1);
     81    }
     82
     83    /// Splits a given string by a delimiter and stores it in an output vector
     84    void vectorize(const std::string& str, char delimiter, std::vector<std::string>* output)
     85    {
     86        for (size_t start = 0, end = 0; end != std::string::npos; start = end + 1)
     87        {
     88            end = str.find_first_of(delimiter, start);
     89            output->push_back(str.substr(start, end - start));
     90        }
    8191    }
    8292
     
    517527        return matrix[(rows-1)*cols + cols-1];
    518528    }
    519    
     529
    520530    /**
    521531    @brief
  • code/branches/output/src/libraries/util/StringUtils.h

    r8232 r8801  
    4343#include "UtilPrereqs.h"
    4444#include <string>
     45#include <vector>
    4546
    4647namespace orxonox
     
    5455
    5556    _UtilExport std::string  removeTrailingWhitespaces(const std::string& str);
     57
     58    _UtilExport void         vectorize(const std::string& str, char delimiter, std::vector<std::string>* output);
    5659
    5760    _UtilExport size_t       getNextQuote(const std::string& str, size_t start);
     
    8891
    8992    _UtilExport unsigned int getLevenshteinDistance(const std::string& str1, const std::string& str2);
    90    
     93
    9194    _UtilExport std::string  getTimestamp(void);
    9295}
  • code/branches/output/src/libraries/util/output/OutputManager.cc

    r8799 r8801  
    3232#include "ConsoleWriter.h"
    3333#include "LogWriter.h"
     34#include "util/StringUtils.h"
    3435
    3536namespace orxonox
     
    6566    {
    6667        std::vector<std::string> lines;
    67         for (size_t start = 0, end = 0; end != std::string::npos; start = end + 1)
    68         {
    69             end = message.find_first_of('\n', start);
    70             lines.push_back(message.substr(start, end));
    71         }
     68        vectorize(message, '\n', &lines);
    7269
    7370        for (size_t i = 0; i < this->listeners_.size(); ++i)
  • code/branches/output/src/orxonox/overlays/InGameConsole.cc

    r8797 r8801  
    561561            case Shell::DebugOutput:     colourTop = ColourValue(0.9f, 0.9f, 0.9f); break;
    562562
    563             case Shell::UserError:       colourTop = ColourValue(0.9f, 0.2f, 0.2f); break;
    564             case Shell::UserWarning:     colourTop = ColourValue(0.9f, 0.5f, 0.2f); break;
    565             case Shell::UserStatus:      colourTop = ColourValue(0.2f, 0.9f, 0.2f); break;
    566             case Shell::UserInfo:        colourTop = ColourValue(0.2f, 0.8f, 0.8f); break;
     563            case Shell::UserError:       colourTop = ColourValue(0.9f, 0.0f, 0.0f); break;
     564            case Shell::UserWarning:     colourTop = ColourValue(0.9f, 0.5f, 0.0f); break;
     565            case Shell::UserStatus:      colourTop = ColourValue(0.0f, 0.9f, 0.0f); break;
     566            case Shell::UserInfo:        colourTop = ColourValue(0.0f, 0.8f, 0.8f); break;
    567567
    568568            case Shell::InternalError:   colourTop = ColourValue(0.5f, 0.0f, 0.0f); break;
     
    571571            case Shell::InternalInfo:    colourTop = ColourValue(0.0f, 0.4f, 0.4f); break;
    572572
    573             case Shell::Verbose:         colourTop = ColourValue(0.2f, 0.2f, 0.9f); break;
    574             case Shell::VerboseMore:     colourTop = ColourValue(0.1f, 0.1f, 0.6f); break;
    575             case Shell::VerboseUltra:    colourTop = ColourValue(0.0f, 0.0f, 0.4f); break;
     573            case Shell::Verbose:         colourTop = ColourValue(0.3f, 0.3f, 0.9f); break;
     574            case Shell::VerboseMore:     colourTop = ColourValue(0.2f, 0.2f, 0.7f); break;
     575            case Shell::VerboseUltra:    colourTop = ColourValue(0.1f, 0.1f, 0.5f); break;
    576576
    577577            case Shell::Command:         colourTop = ColourValue(0.8f, 0.2f, 0.8f); break;
Note: See TracChangeset for help on using the changeset viewer.