Largely implemented SystemCursor API and updated application
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@4062 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
9cdc27451e
commit
9b15e4787a
@ -1,3 +1,30 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Copyright (c) 2001-2002, OpenBeOS
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
// copy of this software and associated documentation files (the "Software"),
|
||||||
|
// to deal in the Software without restriction, including without limitation
|
||||||
|
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
// and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
// Software is furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in
|
||||||
|
// all copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
//
|
||||||
|
// File Name: APRMain.cpp
|
||||||
|
// Author: DarkWyrm <bpmagic@columbus.rr.com>
|
||||||
|
// Description: Main file for Appearance
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
#include "APRMain.h"
|
#include "APRMain.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
@ -7,7 +34,7 @@ APRApplication::APRApplication()
|
|||||||
BRect rect;
|
BRect rect;
|
||||||
|
|
||||||
// This is just the size and location of the window when Show() is called
|
// This is just the size and location of the window when Show() is called
|
||||||
rect.Set(100,100,540,345);
|
rect.Set(100,100,610,345);
|
||||||
aprwin=new APRWindow(rect);
|
aprwin=new APRWindow(rect);
|
||||||
aprwin->Show();
|
aprwin->Show();
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,30 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Copyright (c) 2001-2002, OpenBeOS
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
// copy of this software and associated documentation files (the "Software"),
|
||||||
|
// to deal in the Software without restriction, including without limitation
|
||||||
|
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
// and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
// Software is furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in
|
||||||
|
// all copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
//
|
||||||
|
// File Name: APRMain.h
|
||||||
|
// Author: DarkWyrm <bpmagic@columbus.rr.com>
|
||||||
|
// Description: Main header for Appearance
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
#ifndef APR_WORLD_H
|
#ifndef APR_WORLD_H
|
||||||
#define APR_WORLD_H
|
#define APR_WORLD_H
|
||||||
|
|
||||||
|
@ -87,6 +87,7 @@ APRView::APRView(const BRect &frame, const char *name, int32 resize, int32 flags
|
|||||||
wellrect.right=colorwell->Frame().left - 20;
|
wellrect.right=colorwell->Frame().left - 20;
|
||||||
colorset_label=new BStringView(wellrect,"colorset_label","Color Set: ");
|
colorset_label=new BStringView(wellrect,"colorset_label","Color Set: ");
|
||||||
AddChild(colorset_label);
|
AddChild(colorset_label);
|
||||||
|
colorset_label->ResizeToPreferred();
|
||||||
colorset_name=new BString("<untitled>");
|
colorset_name=new BString("<untitled>");
|
||||||
|
|
||||||
|
|
||||||
@ -568,6 +569,7 @@ void APRView::SetColorSetName(const char *name)
|
|||||||
colorset_name->SetTo(name);
|
colorset_name->SetTo(name);
|
||||||
namestr+=name;
|
namestr+=name;
|
||||||
colorset_label->SetText(namestr.String());
|
colorset_label->SetText(namestr.String());
|
||||||
|
colorset_label->ResizeToPreferred();
|
||||||
colorset_label->Invalidate();
|
colorset_label->Invalidate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,3 +1,30 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Copyright (c) 2001-2002, OpenBeOS
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
// copy of this software and associated documentation files (the "Software"),
|
||||||
|
// to deal in the Software without restriction, including without limitation
|
||||||
|
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
// and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
// Software is furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in
|
||||||
|
// all copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
//
|
||||||
|
// File Name: APRWindow.cpp
|
||||||
|
// Author: DarkWyrm <bpmagic@columbus.rr.com>
|
||||||
|
// Description: basic Window class for Appearance
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
#include <Messenger.h>
|
#include <Messenger.h>
|
||||||
#include "APRWindow.h"
|
#include "APRWindow.h"
|
||||||
#include "APRView.h"
|
#include "APRView.h"
|
||||||
@ -13,17 +40,19 @@ APRWindow::APRWindow(BRect frame)
|
|||||||
|
|
||||||
BTab *tab=NULL;
|
BTab *tab=NULL;
|
||||||
|
|
||||||
colors=new APRView(Bounds(),"Colors",B_FOLLOW_ALL, B_WILL_DRAW);
|
|
||||||
tab=new BTab(colors);
|
// TODO: Swap Cursors and Colors tabs when we're done developing it
|
||||||
tabview->AddTab(colors,tab);
|
cursors=new CurView(Bounds(),"Cursors",B_FOLLOW_ALL, B_WILL_DRAW);
|
||||||
|
tab=new BTab(cursors);
|
||||||
|
tabview->AddTab(cursors,tab);
|
||||||
|
|
||||||
decorators=new DecView(Bounds(),"Decorator",B_FOLLOW_ALL, B_WILL_DRAW);
|
decorators=new DecView(Bounds(),"Decorator",B_FOLLOW_ALL, B_WILL_DRAW);
|
||||||
tab=new BTab(decorators);
|
tab=new BTab(decorators);
|
||||||
tabview->AddTab(decorators,tab);
|
tabview->AddTab(decorators,tab);
|
||||||
|
|
||||||
cursors=new CurView(Bounds(),"Cursors",B_FOLLOW_ALL, B_WILL_DRAW);
|
colors=new APRView(Bounds(),"Colors",B_FOLLOW_ALL, B_WILL_DRAW);
|
||||||
tab=new BTab(cursors);
|
tab=new BTab(colors);
|
||||||
tabview->AddTab(cursors,tab);
|
tabview->AddTab(colors,tab);
|
||||||
|
|
||||||
AddChild(tabview);
|
AddChild(tabview);
|
||||||
decorators->SetColors(colors->settings);
|
decorators->SetColors(colors->settings);
|
||||||
|
@ -1,3 +1,30 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Copyright (c) 2001-2002, OpenBeOS
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
// copy of this software and associated documentation files (the "Software"),
|
||||||
|
// to deal in the Software without restriction, including without limitation
|
||||||
|
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
// and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
// Software is furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in
|
||||||
|
// all copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
//
|
||||||
|
// File Name: APRWindow.h
|
||||||
|
// Author: DarkWyrm <bpmagic@columbus.rr.com>
|
||||||
|
// Description: basic Window class for Appearance
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
#ifndef APR_WINDOW_H
|
#ifndef APR_WINDOW_H
|
||||||
#define APR_WINDOW_H
|
#define APR_WINDOW_H
|
||||||
|
|
||||||
|
@ -1,3 +1,29 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Copyright (c) 2001-2002, OpenBeOS
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
// copy of this software and associated documentation files (the "Software"),
|
||||||
|
// to deal in the Software without restriction, including without limitation
|
||||||
|
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
// and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
// Software is furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in
|
||||||
|
// all copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
//
|
||||||
|
// File Name: ColorWell.cpp
|
||||||
|
// Author: DarkWyrm <bpmagic@columbus.rr.com>
|
||||||
|
// Description: Color display class which accepts drops
|
||||||
|
//
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
#include "ColorWell.h"
|
#include "ColorWell.h"
|
||||||
|
|
||||||
ColorWell::ColorWell(BRect frame, BMessage *msg, bool is_rectangle=false)
|
ColorWell::ColorWell(BRect frame, BMessage *msg, bool is_rectangle=false)
|
||||||
|
@ -1,3 +1,29 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Copyright (c) 2001-2002, OpenBeOS
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
// copy of this software and associated documentation files (the "Software"),
|
||||||
|
// to deal in the Software without restriction, including without limitation
|
||||||
|
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
// and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
// Software is furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in
|
||||||
|
// all copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
//
|
||||||
|
// File Name: ColorWell.h
|
||||||
|
// Author: DarkWyrm <bpmagic@columbus.rr.com>
|
||||||
|
// Description: Color display class which accepts drops
|
||||||
|
//
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
#ifndef COLORWELL_H_
|
#ifndef COLORWELL_H_
|
||||||
#define COLORWELL_H_
|
#define COLORWELL_H_
|
||||||
|
|
||||||
|
@ -1,3 +1,29 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Copyright (c) 2001-2002, OpenBeOS
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
// copy of this software and associated documentation files (the "Software"),
|
||||||
|
// to deal in the Software without restriction, including without limitation
|
||||||
|
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
// and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
// Software is furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in
|
||||||
|
// all copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
//
|
||||||
|
// File Name: ColorWhichItem.cpp
|
||||||
|
// Author: DarkWyrm <bpmagic@columbus.rr.com>
|
||||||
|
// Description: ListItem class for managing color_which specifiers
|
||||||
|
//
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
#include "ColorWhichItem.h"
|
#include "ColorWhichItem.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
@ -1,3 +1,29 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Copyright (c) 2001-2002, OpenBeOS
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
// copy of this software and associated documentation files (the "Software"),
|
||||||
|
// to deal in the Software without restriction, including without limitation
|
||||||
|
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
// and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
// Software is furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in
|
||||||
|
// all copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
//
|
||||||
|
// File Name: ColorWhichItem.h
|
||||||
|
// Author: DarkWyrm <bpmagic@columbus.rr.com>
|
||||||
|
// Description: ListItem class for managing color_which specifiers
|
||||||
|
//
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
#ifndef COLORWHICH_ITEM_H
|
#ifndef COLORWHICH_ITEM_H
|
||||||
#define COLORWHICH_ITEM_H
|
#define COLORWHICH_ITEM_H
|
||||||
|
|
||||||
|
@ -36,6 +36,8 @@
|
|||||||
#include <PortLink.h>
|
#include <PortLink.h>
|
||||||
#include "defs.h"
|
#include "defs.h"
|
||||||
#include "ServerConfig.h"
|
#include "ServerConfig.h"
|
||||||
|
#include <ServerProtocol.h>
|
||||||
|
#include <PortMessage.h>
|
||||||
#include <InterfaceDefs.h>
|
#include <InterfaceDefs.h>
|
||||||
|
|
||||||
//#define DEBUG_CURSORSET
|
//#define DEBUG_CURSORSET
|
||||||
@ -49,6 +51,9 @@ CurView::CurView(const BRect &frame, const char *name, int32 resize, int32 flags
|
|||||||
{
|
{
|
||||||
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
||||||
|
|
||||||
|
|
||||||
|
cursorset=new CursorSet("Default");
|
||||||
|
|
||||||
BMenuBar *mb=new BMenuBar(BRect(0,0,Bounds().Width(),16),"menubar");
|
BMenuBar *mb=new BMenuBar(BRect(0,0,Bounds().Width(),16),"menubar");
|
||||||
|
|
||||||
settings_menu=new BMenu("Settings");
|
settings_menu=new BMenu("Settings");
|
||||||
@ -73,6 +78,7 @@ CurView::CurView(const BRect &frame, const char *name, int32 resize, int32 flags
|
|||||||
wellrect.right=wellrect.left+50;
|
wellrect.right=wellrect.left+50;
|
||||||
cursorset_label=new BStringView(wellrect,"cursorset_label","Cursor Set: ");
|
cursorset_label=new BStringView(wellrect,"cursorset_label","Cursor Set: ");
|
||||||
AddChild(cursorset_label);
|
AddChild(cursorset_label);
|
||||||
|
cursorset_label->ResizeToPreferred();
|
||||||
cursorset_name="<untitled>";
|
cursorset_name="<untitled>";
|
||||||
|
|
||||||
|
|
||||||
@ -122,6 +128,14 @@ CurView::CurView(const BRect &frame, const char *name, int32 resize, int32 flags
|
|||||||
AddChild(apply);
|
AddChild(apply);
|
||||||
apply->SetEnabled(false);
|
apply->SetEnabled(false);
|
||||||
|
|
||||||
|
cvrect.Set(0,0,48,48);
|
||||||
|
BPoint pt;
|
||||||
|
pt.x=scrollview->Frame().right+(Bounds().right-scrollview->Frame().right-cvrect.Width())/2;
|
||||||
|
pt.y=mb->Frame().bottom+(apply->Frame().top-mb->Frame().bottom-cvrect.Height())/2;
|
||||||
|
|
||||||
|
bmpview=new BitmapView(pt);
|
||||||
|
AddChild(bmpview);
|
||||||
|
|
||||||
BEntry entry(COLOR_SET_DIR);
|
BEntry entry(COLOR_SET_DIR);
|
||||||
entry_ref ref;
|
entry_ref ref;
|
||||||
entry.GetRef(&ref);
|
entry.GetRef(&ref);
|
||||||
@ -137,6 +151,7 @@ CurView::CurView(const BRect &frame, const char *name, int32 resize, int32 flags
|
|||||||
CurView::~CurView(void)
|
CurView::~CurView(void)
|
||||||
{
|
{
|
||||||
delete savepanel;
|
delete savepanel;
|
||||||
|
delete cursorset;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CurView::AllAttached(void)
|
void CurView::AllAttached(void)
|
||||||
@ -339,13 +354,25 @@ printf("Loading cursor sets from disk\n");
|
|||||||
|
|
||||||
int32 count=dir.CountEntries();
|
int32 count=dir.CountEntries();
|
||||||
|
|
||||||
|
|
||||||
BMessage *msg;
|
BMessage *msg;
|
||||||
|
CursorSet cs(NULL);
|
||||||
|
|
||||||
for(int32 i=0;i<count;i++)
|
for(int32 i=0;i<count;i++)
|
||||||
{
|
{
|
||||||
dir.GetNextEntry(&entry);
|
dir.GetNextEntry(&entry);
|
||||||
entry.GetPath(&path);
|
entry.GetPath(&path);
|
||||||
|
|
||||||
|
if(cs.Load(path.Path())!=B_OK)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
// Don't include the default set in the menu
|
||||||
|
name=path.Leaf();
|
||||||
|
if(name.Compare("Default")==0)
|
||||||
|
continue;
|
||||||
|
|
||||||
name=path.Path();
|
name=path.Path();
|
||||||
|
|
||||||
name.Remove(0,name.FindLast('/')+1);
|
name.Remove(0,name.FindLast('/')+1);
|
||||||
|
|
||||||
msg=new BMessage(LOAD_CURSORSET);
|
msg=new BMessage(LOAD_CURSORSET);
|
||||||
@ -356,103 +383,6 @@ printf("Loading cursor sets from disk\n");
|
|||||||
return menu;
|
return menu;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CurView::LoadCursorSet(const BString &name)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
// Load the current GUI cursor settings from a cursor set file.
|
|
||||||
|
|
||||||
#ifdef DEBUG_CURSORSET
|
|
||||||
printf("LoadCursorSet: %s\n",name.String());
|
|
||||||
#endif
|
|
||||||
|
|
||||||
BDirectory dir,newdir;
|
|
||||||
if(dir.SetTo(CURSOR_SET_DIR)==B_ENTRY_NOT_FOUND)
|
|
||||||
{
|
|
||||||
#ifdef DEBUG_CURSORSET
|
|
||||||
printf("Cursor set folder not found. Creating %s\n",COLOR_SET_DIR);
|
|
||||||
#endif
|
|
||||||
create_directory(COLOR_SET_DIR,0777);
|
|
||||||
}
|
|
||||||
|
|
||||||
BString path(COLOR_SET_DIR);
|
|
||||||
path+=name.String();
|
|
||||||
BFile file(path.String(),B_READ_ONLY);
|
|
||||||
|
|
||||||
if(file.InitCheck()!=B_OK)
|
|
||||||
{
|
|
||||||
#ifdef DEBUG_CURSORSET
|
|
||||||
printf("Couldn't open file %s for read\n",path.String());
|
|
||||||
#endif
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if(settings.Unflatten(&file)==B_OK)
|
|
||||||
{
|
|
||||||
#ifdef DEBUG_CURSORSET
|
|
||||||
settings.PrintToStream();
|
|
||||||
#endif
|
|
||||||
BString internal_name;
|
|
||||||
settings.FindString("name",&internal_name);
|
|
||||||
// BString namestr("Cursor Set: ");
|
|
||||||
// namestr+=internal_name.String();
|
|
||||||
// cursorset_label->SetText(namestr.String());
|
|
||||||
SetCursorSetName(internal_name.String());
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
#ifdef DEBUG_CURSORSET
|
|
||||||
printf("Error unflattening file %s\n",name.String());
|
|
||||||
#endif
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
void CurView::SaveCursorSet(const BString &name)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
// Save the current cursor attributes as a flattened BMessage in the
|
|
||||||
// cursor set folder
|
|
||||||
BString path(COLOR_SET_DIR);
|
|
||||||
path+=name.String();
|
|
||||||
|
|
||||||
#ifdef DEBUG_CURSORSET
|
|
||||||
printf("SaveCursorSet: %s\n",path.String());
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if(settings.ReplaceString("name",name.String())!=B_OK)
|
|
||||||
{
|
|
||||||
#ifdef DEBUG_CURSORSET
|
|
||||||
printf("SaveCursorSet: Couldn't replace set name in settings\n");
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
BFile file(path.String(),B_READ_WRITE|B_CREATE_FILE|B_ERASE_FILE);
|
|
||||||
|
|
||||||
if(file.InitCheck()!=B_OK)
|
|
||||||
{
|
|
||||||
#ifdef DEBUG_CURSORSET
|
|
||||||
printf("SaveCursorSet: Couldn't open settings file for write\n");
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
if(settings.Flatten(&file)!=B_OK)
|
|
||||||
{
|
|
||||||
#ifdef DEBUG_CURSORSET
|
|
||||||
printf("SaveCursorSet: Couldn't flatten settings to file\n");
|
|
||||||
#endif
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
BMessage *msg=new BMessage(LOAD_CURSORSET);
|
|
||||||
msg->AddString("name",name.String());
|
|
||||||
|
|
||||||
if(cursorset_menu->AddItem(new BMenuItem(name.String(),msg))==false)
|
|
||||||
{
|
|
||||||
#ifdef DEBUG_CURSORSET
|
|
||||||
printf("SaveCursorSet: Error in adding item to menu\n");
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
SetCursorSetName(name.String());
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
|
|
||||||
void CurView::SetCursorSetName(const char *name)
|
void CurView::SetCursorSetName(const char *name)
|
||||||
{
|
{
|
||||||
if(!name)
|
if(!name)
|
||||||
@ -461,6 +391,7 @@ void CurView::SetCursorSetName(const char *name)
|
|||||||
cursorset_name=name;
|
cursorset_name=name;
|
||||||
namestr+=name;
|
namestr+=name;
|
||||||
cursorset_label->SetText(namestr.String());
|
cursorset_label->SetText(namestr.String());
|
||||||
|
cursorset_label->ResizeToPreferred();
|
||||||
cursorset_label->Invalidate();
|
cursorset_label->Invalidate();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -474,17 +405,15 @@ void CurView::SaveSettings(void)
|
|||||||
#ifdef DEBUG_CURSORSET
|
#ifdef DEBUG_CURSORSET
|
||||||
printf("SaveSettings: %s\n",path.String());
|
printf("SaveSettings: %s\n",path.String());
|
||||||
#endif
|
#endif
|
||||||
BFile file(path.String(),B_READ_WRITE|B_CREATE_FILE|B_ERASE_FILE);
|
cursorset->Save(path.String(),B_CREATE_FILE|B_ERASE_FILE);
|
||||||
|
|
||||||
settings.Flatten(&file);
|
|
||||||
prev_set_name=cursorset_name;
|
prev_set_name=cursorset_name;
|
||||||
revert->SetEnabled(false);
|
revert->SetEnabled(false);
|
||||||
revert->SetEnabled(false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CurView::LoadSettings(void)
|
void CurView::LoadSettings(void)
|
||||||
{
|
{
|
||||||
/* // Load the current GUI cursor settings from disk. This is done instead of
|
// Load the current GUI cursor settings from disk. This is done instead of
|
||||||
// getting them from the server at this point for testing purposes. Comment
|
// getting them from the server at this point for testing purposes. Comment
|
||||||
// out the #define LOAD_SETTINGS_FROM_DISK line to use the server query code
|
// out the #define LOAD_SETTINGS_FROM_DISK line to use the server query code
|
||||||
#ifdef DEBUG_CURSORSET
|
#ifdef DEBUG_CURSORSET
|
||||||
@ -502,10 +431,11 @@ printf("Cursor set folder not found. Creating %s\n",SERVER_SETTINGS_DIR);
|
|||||||
}
|
}
|
||||||
|
|
||||||
BString path(SERVER_SETTINGS_DIR);
|
BString path(SERVER_SETTINGS_DIR);
|
||||||
path+=COLOR_SETTINGS_NAME;
|
path+=CURSOR_SETTINGS_NAME;
|
||||||
BFile file(path.String(),B_READ_ONLY);
|
|
||||||
|
|
||||||
if(file.InitCheck()!=B_OK)
|
status_t stat=cursorset->Load(path.String());
|
||||||
|
|
||||||
|
if(stat!=B_OK)
|
||||||
{
|
{
|
||||||
#ifdef DEBUG_CURSORSET
|
#ifdef DEBUG_CURSORSET
|
||||||
printf("Couldn't open file %s for read\n",path.String());
|
printf("Couldn't open file %s for read\n",path.String());
|
||||||
@ -514,166 +444,58 @@ printf("Couldn't open file %s for read\n",path.String());
|
|||||||
SaveSettings();
|
SaveSettings();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if(settings.Unflatten(&file)==B_OK)
|
|
||||||
{
|
|
||||||
settings.FindString("name",&cursorset_name);
|
|
||||||
SetCursorSetName(cursorset_name.String());
|
|
||||||
prev_set_name=cursorset_name;
|
|
||||||
picker->SetValue(GetCursorFromMessage(&settings,attrstring.String()));
|
|
||||||
#ifdef DEBUG_CURSORSET
|
|
||||||
settings.PrintToStream();
|
|
||||||
#endif
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
#ifdef DEBUG_CURSORSET
|
|
||||||
printf("Error unflattening SystemCursors file %s\n",path.String());
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// If we get this far, we have encountered an error, so reset the settings
|
settings.FindString("name",&cursorset_name);
|
||||||
// to the defaults
|
SetCursorSetName(cursorset_name.String());
|
||||||
SetDefaults();
|
prev_set_name=cursorset_name;
|
||||||
SaveSettings();
|
return;
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CurView::SetDefaults(void)
|
void CurView::SetDefaults(void)
|
||||||
{
|
{
|
||||||
/*
|
// The server will perform the necessary work to set defaults, so just ask it to do the
|
||||||
#ifdef DEBUG_CURSORSET
|
// work for us. It is a synchronous procedure, so we will notify the server and load the cursor
|
||||||
printf("Initializing cursor settings to defaults\n");
|
// set 'Default'.
|
||||||
#endif
|
BString string(CURSOR_SET_DIR);
|
||||||
settings.MakeEmpty();
|
string+="Default";
|
||||||
settings.AddString("name","Default");
|
|
||||||
cursorset_name="Default";
|
|
||||||
|
|
||||||
ColorWhichItem whichitem(B_PANEL_BACKGROUND_COLOR);
|
cursorset->Load(string.String());
|
||||||
rgb_color col={216,216,216,255};
|
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
SetRGBColor(&col,0,0,0);
|
port_id port=find_port(SERVER_PORT_NAME);
|
||||||
whichitem.SetAttribute((color_which)B_PANEL_TEXT_COLOR);
|
if(port==B_NAME_NOT_FOUND)
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
return;
|
||||||
|
|
||||||
SetRGBColor(&col,255,255,255);
|
PortLink link(port);
|
||||||
whichitem.SetAttribute((color_which)B_DOCUMENT_BACKGROUND_COLOR);
|
PortMessage pmsg;
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
SetRGBColor(&col,0,0,0);
|
link.SetOpCode(AS_SET_SYSCURSOR_DEFAULTS);
|
||||||
whichitem.SetAttribute((color_which)B_DOCUMENT_TEXT_COLOR);
|
link.FlushWithReply(&pmsg);
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
SetRGBColor(&col,245,245,245);
|
|
||||||
whichitem.SetAttribute((color_which)B_CONTROL_BACKGROUND_COLOR);
|
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
SetRGBColor(&col,0,0,0);
|
|
||||||
whichitem.SetAttribute((color_which)B_CONTROL_TEXT_COLOR);
|
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
SetRGBColor(&col,0,0,0);
|
|
||||||
whichitem.SetAttribute((color_which)B_CONTROL_BORDER_COLOR);
|
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
SetRGBColor(&col,115,120,184);
|
|
||||||
whichitem.SetAttribute((color_which)B_CONTROL_HIGHLIGHT_COLOR);
|
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
SetRGBColor(&col,170,50,184);
|
|
||||||
whichitem.SetAttribute((color_which)B_NAVIGATION_BASE_COLOR);
|
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
SetRGBColor(&col,0,0,0);
|
|
||||||
whichitem.SetAttribute((color_which)B_NAVIGATION_PULSE_COLOR);
|
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
SetRGBColor(&col,255,255,255);
|
|
||||||
whichitem.SetAttribute((color_which)B_SHINE_COLOR);
|
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
SetRGBColor(&col,0,0,0);
|
|
||||||
whichitem.SetAttribute((color_which)B_SHADOW_COLOR);
|
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
SetRGBColor(&col,0,0,0);
|
|
||||||
whichitem.SetAttribute((color_which)B_MENU_SELECTED_BORDER_COLOR);
|
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
SetRGBColor(&col,255,255,0);
|
|
||||||
whichitem.SetAttribute((color_which)B_TOOLTIP_BACKGROUND_COLOR);
|
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
SetRGBColor(&col,0,0,0);
|
|
||||||
whichitem.SetAttribute((color_which)B_TOOLTIP_TEXT_COLOR);
|
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
SetRGBColor(&col,0,255,0);
|
|
||||||
whichitem.SetAttribute((color_which)B_SUCCESS_COLOR);
|
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
SetRGBColor(&col,255,0,0);
|
|
||||||
whichitem.SetAttribute((color_which)B_FAILURE_COLOR);
|
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
SetRGBColor(&col,51,102,160);
|
|
||||||
whichitem.SetAttribute((color_which)B_MENU_SELECTED_BACKGROUND_COLOR);
|
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
whichitem.SetAttribute(B_PANEL_BACKGROUND_COLOR);
|
|
||||||
SetRGBColor(&col,216,216,216);
|
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
SetRGBColor(&col,216,216,216,0);
|
|
||||||
whichitem.SetAttribute(B_MENU_BACKGROUND_COLOR);
|
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
SetRGBColor(&col,0,0,0);
|
|
||||||
whichitem.SetAttribute(B_MENU_ITEM_TEXT_COLOR);
|
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
SetRGBColor(&col,255,255,255);
|
|
||||||
whichitem.SetAttribute(B_MENU_SELECTED_ITEM_TEXT_COLOR);
|
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
SetRGBColor(&col,255,203,0);
|
|
||||||
whichitem.SetAttribute(B_WINDOW_TAB_COLOR);
|
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
SetRGBColor(&col,0,0,0);
|
|
||||||
whichitem.SetAttribute((color_which)B_WINDOW_TAB_TEXT_COLOR);
|
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
SetRGBColor(&col,232,232,232);
|
|
||||||
whichitem.SetAttribute((color_which)B_INACTIVE_WINDOW_TAB_COLOR);
|
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
SetRGBColor(&col,80,80,80);
|
|
||||||
whichitem.SetAttribute((color_which)B_INACTIVE_WINDOW_TAB_TEXT_COLOR);
|
|
||||||
settings.AddData(whichitem.Text(),(type_code)'RGBC',&col,sizeof(rgb_color));
|
|
||||||
|
|
||||||
// BString labelstr("Color Set: ");
|
|
||||||
// labelstr+=cursorset_name;
|
|
||||||
// cursorset_label->SetText(labelstr.String());
|
|
||||||
SetCursorSetName("Default");
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CurView::NotifyServer(void)
|
BitmapView::BitmapView(const BPoint &pt)
|
||||||
|
: BView(BRect(0,0,48,48).OffsetToCopy(pt),"bitmapview",B_FOLLOW_NONE,B_WILL_DRAW)
|
||||||
{
|
{
|
||||||
|
bitmap=NULL;
|
||||||
|
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
||||||
}
|
}
|
||||||
|
|
||||||
rgb_color CurView::GetColorFromMessage(BMessage *msg, const char *name, int32 index=0)
|
BitmapView::~BitmapView(void)
|
||||||
{
|
{
|
||||||
/*
|
if(bitmap)
|
||||||
// Simple function to do the dirty work of getting an rgb_color from
|
delete bitmap;
|
||||||
// a message
|
|
||||||
rgb_color *col,rcolor={0,0,0,0};
|
|
||||||
ssize_t size;
|
|
||||||
|
|
||||||
if(!msg || !name)
|
|
||||||
return rcolor;
|
|
||||||
|
|
||||||
if(msg->FindData(name,(type_code)'RGBC',index,(const void**)&col,&size)==B_OK)
|
|
||||||
rcolor=*col;
|
|
||||||
return rcolor;
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BitmapView::SetBitmap(BBitmap *bmp)
|
||||||
|
{
|
||||||
|
if(bitmap)
|
||||||
|
delete bitmap;
|
||||||
|
bitmap=bmp;
|
||||||
|
}
|
||||||
|
|
||||||
|
void BitmapView::Draw(BRect r)
|
||||||
|
{
|
||||||
|
if(bitmap)
|
||||||
|
DrawBitmap(bitmap);
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -41,9 +41,22 @@
|
|||||||
#include <StringView.h>
|
#include <StringView.h>
|
||||||
#include <FilePanel.h>
|
#include <FilePanel.h>
|
||||||
#include <Invoker.h>
|
#include <Invoker.h>
|
||||||
|
#include <SysCursor.h>
|
||||||
|
#include <Bitmap.h>
|
||||||
|
|
||||||
class APRWindow;
|
class APRWindow;
|
||||||
|
|
||||||
|
class BitmapView : public BView
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
BitmapView(const BPoint &pt);
|
||||||
|
~BitmapView(void);
|
||||||
|
void SetBitmap(BBitmap *bmp);
|
||||||
|
void Draw(BRect r);
|
||||||
|
protected:
|
||||||
|
BBitmap *bitmap;
|
||||||
|
};
|
||||||
|
|
||||||
class CurView : public BView
|
class CurView : public BView
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -54,13 +67,9 @@ public:
|
|||||||
void SaveSettings(void);
|
void SaveSettings(void);
|
||||||
void LoadSettings(void);
|
void LoadSettings(void);
|
||||||
void SetDefaults(void);
|
void SetDefaults(void);
|
||||||
void NotifyServer(void);
|
|
||||||
rgb_color GetColorFromMessage(BMessage *msg, const char *name, int32 index=0);
|
|
||||||
protected:
|
protected:
|
||||||
friend APRWindow;
|
friend APRWindow;
|
||||||
BMenu *LoadCursorSets(void);
|
BMenu *LoadCursorSets(void);
|
||||||
void SaveCursorSet(const BString &name);
|
|
||||||
void LoadCursorSet(const BString &name);
|
|
||||||
void SetCursorSetName(const char *name);
|
void SetCursorSetName(const char *name);
|
||||||
|
|
||||||
BButton *apply,*revert,*defaults;
|
BButton *apply,*revert,*defaults;
|
||||||
@ -74,6 +83,8 @@ protected:
|
|||||||
BFilePanel *savepanel;
|
BFilePanel *savepanel;
|
||||||
BString cursorset_name;
|
BString cursorset_name;
|
||||||
BString prev_set_name;
|
BString prev_set_name;
|
||||||
|
CursorSet *cursorset;
|
||||||
|
BitmapView *bmpview;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,3 +1,29 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Copyright (c) 2001-2002, OpenBeOS
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
// copy of this software and associated documentation files (the "Software"),
|
||||||
|
// to deal in the Software without restriction, including without limitation
|
||||||
|
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
// and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
// Software is furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in
|
||||||
|
// all copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
//
|
||||||
|
// File Name: CursorWhichItem.cpp
|
||||||
|
// Author: DarkWyrm <bpmagic@columbus.rr.com>
|
||||||
|
// Description: ListItem class for managing cursor_which specifiers
|
||||||
|
//
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
#include "CursorWhichItem.h"
|
#include "CursorWhichItem.h"
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
|
@ -1,3 +1,29 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Copyright (c) 2001-2002, OpenBeOS
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
// copy of this software and associated documentation files (the "Software"),
|
||||||
|
// to deal in the Software without restriction, including without limitation
|
||||||
|
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
// and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
// Software is furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in
|
||||||
|
// all copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
//
|
||||||
|
// File Name: CursorWhichItem.h
|
||||||
|
// Author: DarkWyrm <bpmagic@columbus.rr.com>
|
||||||
|
// Description: ListItem class for managing cursor_which specifiers
|
||||||
|
//
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
#ifndef COLORWHICH_ITEM_H
|
#ifndef COLORWHICH_ITEM_H
|
||||||
#define COLORWHICH_ITEM_H
|
#define COLORWHICH_ITEM_H
|
||||||
|
|
||||||
|
@ -51,8 +51,32 @@ DecView::DecView(BRect frame, const char *name, int32 resize, int32 flags)
|
|||||||
{
|
{
|
||||||
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
SetViewColor(ui_color(B_PANEL_BACKGROUND_COLOR));
|
||||||
|
|
||||||
|
BRect cvrect(0,0,50,25);
|
||||||
|
|
||||||
|
cvrect.OffsetTo(Bounds().right-60,10);
|
||||||
|
|
||||||
|
apply=new BButton(cvrect,"ApplyButton","Apply",
|
||||||
|
new BMessage(APPLY_SETTINGS),B_FOLLOW_LEFT |B_FOLLOW_TOP,
|
||||||
|
B_WILL_DRAW | B_NAVIGABLE);
|
||||||
|
AddChild(apply);
|
||||||
|
|
||||||
|
// set up app_server emulation
|
||||||
|
driver=new PreviewDriver();
|
||||||
|
if(!driver->Initialize())
|
||||||
|
printf("Uh-oh... Couldn't initialize graphics module for server emu!\n");
|
||||||
|
else
|
||||||
|
{
|
||||||
|
preview=driver->View();
|
||||||
|
AddChild(preview);
|
||||||
|
|
||||||
|
BRect temp(driver->View()->Bounds());
|
||||||
|
|
||||||
|
preview->MoveTo(apply->Frame().left-temp.Width()-20,apply->Frame().top);
|
||||||
|
}
|
||||||
|
|
||||||
// Set up list of color attributes
|
// Set up list of color attributes
|
||||||
declist=new BListView(BRect(10,10,110,110),"DecoratorList");
|
cvrect.Set(10,10,preview->Frame().left-20-B_V_SCROLL_BAR_WIDTH, preview->Frame().bottom);
|
||||||
|
declist=new BListView(cvrect,"DecoratorList");
|
||||||
|
|
||||||
scrollview=new BScrollView("ScrollView",declist, B_FOLLOW_LEFT |
|
scrollview=new BScrollView("ScrollView",declist, B_FOLLOW_LEFT |
|
||||||
B_FOLLOW_TOP, 0, false, true);
|
B_FOLLOW_TOP, 0, false, true);
|
||||||
@ -61,28 +85,8 @@ DecView::DecView(BRect frame, const char *name, int32 resize, int32 flags)
|
|||||||
|
|
||||||
declist->SetSelectionMessage(new BMessage(DECORATOR_CHOSEN));
|
declist->SetSelectionMessage(new BMessage(DECORATOR_CHOSEN));
|
||||||
|
|
||||||
BRect cvrect(0,0,50,25);
|
|
||||||
|
|
||||||
cvrect.OffsetTo(Bounds().right-60,
|
|
||||||
scrollview->Frame().top);
|
|
||||||
|
|
||||||
apply=new BButton(cvrect,"ApplyButton","Apply",
|
|
||||||
new BMessage(APPLY_SETTINGS),B_FOLLOW_LEFT |B_FOLLOW_TOP,
|
|
||||||
B_WILL_DRAW | B_NAVIGABLE);
|
|
||||||
AddChild(apply);
|
|
||||||
|
|
||||||
// set up app_server emulation
|
|
||||||
|
|
||||||
driver=new PreviewDriver();
|
|
||||||
if(!driver->Initialize())
|
|
||||||
printf("Uh-oh... Couldn't initialize graphics module for server emu!\n");
|
|
||||||
else
|
|
||||||
{
|
|
||||||
preview=driver->View();
|
|
||||||
AddChild(preview);
|
|
||||||
preview->MoveTo(scrollview->Frame().right+20,scrollview->Frame().top);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
// Finish setup
|
||||||
ldata.highcolor.SetColor(51,102,160);
|
ldata.highcolor.SetColor(51,102,160);
|
||||||
pat_solid_high=0xFFFFFFFFFFFFFFFFLL;
|
pat_solid_high=0xFFFFFFFFFFFFFFFFLL;
|
||||||
driver->FillRect(preview_bounds,&ldata,(int8*)&pat_solid_high);
|
driver->FillRect(preview_bounds,&ldata,(int8*)&pat_solid_high);
|
||||||
|
@ -10,7 +10,7 @@ Preference Appearance :
|
|||||||
CurView.cpp
|
CurView.cpp
|
||||||
DecView.cpp
|
DecView.cpp
|
||||||
PreviewDriver.cpp
|
PreviewDriver.cpp
|
||||||
SysCursorAPI.cpp
|
# SysCursorAPI.cpp
|
||||||
ColorWell.cpp
|
ColorWell.cpp
|
||||||
ColorWhichItem.cpp
|
ColorWhichItem.cpp
|
||||||
CursorWhichItem.cpp
|
CursorWhichItem.cpp
|
||||||
|
@ -1,6 +1,33 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Copyright (c) 2001-2002, OpenBeOS
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
// copy of this software and associated documentation files (the "Software"),
|
||||||
|
// to deal in the Software without restriction, including without limitation
|
||||||
|
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
// and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
// Software is furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in
|
||||||
|
// all copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
//
|
||||||
|
// File Name: PreviewDriver.cpp
|
||||||
|
// Author: DarkWyrm <bpmagic@columbus.rr.com>
|
||||||
|
// Description: Class to display decorators from regular BApplications
|
||||||
|
//
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
/*
|
/*
|
||||||
PreviewDriver:
|
PreviewDriver:
|
||||||
Module based on proto6's ViewDriver for the purpose of Decorator previews.
|
Module based on app_server's ViewDriver for the purpose of Decorator previews.
|
||||||
|
|
||||||
The concept is to have a view draw a bitmap, which is a "frame buffer"
|
The concept is to have a view draw a bitmap, which is a "frame buffer"
|
||||||
of sorts, utilize a second view to write to it. This cuts out
|
of sorts, utilize a second view to write to it. This cuts out
|
||||||
|
@ -1,3 +1,29 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// Copyright (c) 2001-2002, OpenBeOS
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
// copy of this software and associated documentation files (the "Software"),
|
||||||
|
// to deal in the Software without restriction, including without limitation
|
||||||
|
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
// and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
// Software is furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in
|
||||||
|
// all copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
// DEALINGS IN THE SOFTWARE.
|
||||||
|
//
|
||||||
|
// File Name: PreviewDriver.cpp
|
||||||
|
// Author: DarkWyrm <bpmagic@columbus.rr.com>
|
||||||
|
// Description: Class to display decorators from regular BApplications
|
||||||
|
//
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
#ifndef _PREVIEWDRIVER_H_
|
#ifndef _PREVIEWDRIVER_H_
|
||||||
#define _PREVIEWDRIVER_H_
|
#define _PREVIEWDRIVER_H_
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user