syncfiles/macos/project.h
2022-11-17 20:38:03 -05:00

31 lines
1.1 KiB
C

// 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
// A ProjectHandle is a handle to a synchronization project.
typedef struct Project **ProjectHandle;
// ProjectNew creates a new empty synchronization project.
void ProjectNew(void);
// ProjectAdjustMenus adjusts menus before selecting a menu item.
void ProjectAdjustMenus(ProjectHandle project, MenuHandle fileMenu);
// ProjectCommand handles a menu command or equivalent.
void ProjectCommand(WindowRef window, ProjectHandle project, int menuID,
int item);
// ProjectUpdate handles an update event for a project window.
void ProjectUpdate(WindowRef window, ProjectHandle project);
// ProjectActivate sets whether a project window is active.
void ProjectActivate(WindowRef window, ProjectHandle project, int isActive);
// ProjectMouseDown handles a mouse down event in a window.
void ProjectMouseDown(WindowRef window, ProjectHandle project,
EventRecord *event);
#endif