syncfiles/macos/project.h

35 lines
1.3 KiB
C
Raw Permalink Normal View History

// Copyright 2022 Dietrich Epp.
// This file is part of SyncFiles. SyncFiles is licensed under the terms of the
// Mozilla Public License, version 2.0. See LICENSE.txt for details.
#ifndef MACOS_PROJECT_H
#define MACOS_PROJECT_H
2022-11-18 01:38:03 +00:00
// A ProjectHandle is a handle to a synchronization project.
typedef struct Project **ProjectHandle;
2022-11-18 01:38:03 +00:00
// ProjectNew creates a new empty synchronization project.
void ProjectNew(void);
// ProjectOpen opens an existing synchronization project.
void ProjectOpen(FSSpec *spec, ScriptCode script);
2022-11-18 01:38:03 +00:00
// ProjectAdjustMenus adjusts menus before selecting a menu item.
void ProjectAdjustMenus(ProjectHandle project, MenuHandle fileMenu,
MenuHandle projectMenu);
2022-11-18 01:38:03 +00:00
// ProjectCommand handles a menu command or equivalent.
void ProjectCommand(WindowRef window, ProjectHandle project, int menuID,
int item);
2022-11-18 01:38:03 +00:00
// ProjectUpdate handles an update event for a project window.
void ProjectUpdate(WindowRef window, ProjectHandle project);
2022-11-18 01:38:03 +00:00
// ProjectActivate sets whether a project window is active.
void ProjectActivate(WindowRef window, ProjectHandle project, int isActive);
2022-11-18 01:38:03 +00:00
// ProjectMouseDown handles a mouse down event in a window.
void ProjectMouseDown(WindowRef window, ProjectHandle project,
EventRecord *event);
#endif